Dental X-Ray Conversion API
Converts Eaglesoft dental x-ray image formats to JPEG. Sign up to get an API key, or ask for a free trial key to evaluate it first — no card or billing setup needed.
Authentication
Send your API key in the X-API-Key header on every request. Missing or
invalid keys get a 401.
X-API-Key: <your key>
Convert an image
POST /convert/eaglesoft
Multipart form upload with a single file field containing the image. On
success, the response body is the converted image as raw JPEG bytes
(Content-Type: image/jpeg). Converted images are not retained, and neither are
uploads that convert successfully. An upload that fails to convert may be kept for up to 30
days under its request ID, solely to diagnose the failure; see the
Privacy Policy.
curl -X POST -H "X-API-Key: <your key>" \
-F "file=@scan.eop" \
https://dentalxrayconversion.com/convert/eaglesoft \
-o converted.jpg
Finding your Eaglesoft files
If Eaglesoft still runs on your computer, you can export images to JPEG from Eaglesoft itself: open the patient's images, select an image, then choose File → Export (or File → Export All for a whole exam), pick a folder, and set Save as type to JPEG File Interchange (*.jpg). Patterson's guide covers the details: Export Images from Eaglesoft.
Otherwise, send the original files to the API. Eaglesoft keeps x-rays in its image folder, usually on the office's main (server) computer. To see where it is, open Eaglesoft and go to File → Preferences → General: the folder is the path listed for "Audio, Image, Indicators, and Scribble Files." If Eaglesoft is no longer installed, ask whoever manages your office computers where the old Eaglesoft data folder is.
Inside it, each patient has their own folder, typically named after the patient (for
example SMITHJANE_0000_1A2B). The files to convert look like:
| File | What it is | Supported? |
|---|---|---|
CapI_03052024_105008.Auto | A single capture. The name is the capture date and time (here March 5, 2024, 10:50:08) | Yes |
*.eop, *.etp, *.STB | Individual x-ray images | Yes |
FGrp_*.Auto | A multi-image capture group, such as a full-mouth series | Not yet |
Copy the files rather than moving them, so Eaglesoft's own records stay intact.
Multi-image capture groups (FGrp_*.Auto) aren't supported yet and return a
422.
Rotating your key
If you think your key has leaked, rotate it yourself — this immediately invalidates every active key on your account and issues one new key in its place. There's no separate login, so the current key itself is what authorizes this.
curl -X POST -H "X-API-Key: <your current key>" \
https://dentalxrayconversion.com/keys/rotate
Response: {"api_key": "..."}. Shown once — save it immediately, the
old key stops working right away. If you've lost every copy of your key and can't
authenticate this request, contact support instead.
Errors
Errors are JSON: {"error": "..."}.
| Status | Meaning |
|---|---|
400 | Unknown image type in the URL, or no file field in the upload |
401 | Missing or invalid X-API-Key header |
402 | Trial key only: the trial's conversion limit is used up or it has expired |
422 | The uploaded file couldn't be converted (corrupted, wrong format for the endpoint, or an unsupported case such as a multi-tile Eaglesoft capture group) |
429 | Rate limit exceeded — see Rate limits |
Response headers
| Header | Meaning |
|---|---|
X-App-Version | The deployed release version handling your request. Include it when reporting an issue. |
X-Request-Id | A unique ID for this conversion request. Include it when reporting an issue — it's what we use to look up what happened server-side. |
X-Trial-Remaining | Trial keys only: free conversions left on the trial. Conversions that fail with 422 don't count. |
Rate limits
| Endpoint | Limit |
|---|---|
/convert/* | 200 requests / minute, per IP |
/signup/checkout | 10 requests / minute, per IP |
Exceeding a limit returns 429. If you're needing higher rate limits, contact support.
Pricing
$0.02 per conversion, plus applicable sales tax. Billed monthly.
If you are converting a large volume of images (>10k per month), contact support if you're wanting to inquire about reduced pricing.