canonical: https://jentic.com/apis/opendental.com/opendental

# Open Dental API

The Open Dental API exposes the practice management database used by thousands of dental clinics through a REST surface covering patients, appointments, treatments, claims, and accounting. With 215 endpoints across resources such as Patients, Appointments, Procedures, Claims, Allergies, and Recalls, it is the integration point for clinical add-ons, patient-engagement tools, billing reconcilers, and reporting dashboards that need bidirectional access to a clinic's chair-side data. Authentication uses an Authorization header carrying both the developer key and the practice-issued customer key.

## For AI agents

Read and update dental practice records - patients, appointments, procedures, claims, and clinical notes - across 215 endpoints of a clinic's Open Dental database.

## Scope

Does not handle imaging file storage, e-prescribing transmission, or patient-portal authentication - use for practice-management read and write operations against the Open Dental database only.

## Capabilities

- Look up and update patient demographics, contact details, and balances through /Patients and `/Patients/{id}`
- Schedule, reschedule, and cancel appointments using /Appointments and /AppointmentTypes
- Record procedures, diagnoses, and treatment plans against a patient's chart
- Submit and track insurance claims and their procedures via /Claims and /ClaimProcs
- Manage clinical reference data - allergies, medications, recalls, commlogs - for a patient record
- Sync the dentist's appointment book and operatory schedule with external scheduling, marketing, and billing tools

## Use cases

### Patient Engagement and Recall Automation

Build a patient communications app that pulls upcoming appointments and recall lists from Open Dental and sends SMS or email reminders. The /Appointments and /Recalls endpoints supply the schedule and the due dates; /Patients gives the contact details so the messaging tool can personalise outreach. A typical clinic with 50-200 active patients per day fits comfortably within standard pagination.

Example prompt: Call /Appointments?DateStart=2026-06-12&DateEnd=2026-06-12 and return each appointment's PatNum, ProvNum, and AptDateTime.

### Insurance Claims Reconciliation

Reconcile a clinic's claim submissions against payer responses by pulling /Claims and /ClaimProcs nightly. The endpoints expose claim status, amount billed, amount paid, and per-procedure breakdowns so a back-office tool can flag claims that need rework. Reduces the manual queue review the office manager would otherwise run in the desktop client.

Example prompt: Fetch /Claims with ClaimStatus=W (waiting) and /ClaimProcs for each, then list claims older than 30 days that have no procedures paid.

### Clinical Add-On Integration

A clinical add-on (imaging, perio charting, treatment planning) writes back into the patient chart using /Procedures, /Allergies, /Medications, and /Commlogs. The clinic stays in Open Dental for billing and scheduling while the add-on focuses on its specialised UI, with the API as the source of truth for what gets recorded against the patient.

Example prompt: Post a new entry to /Procedures for PatNum 123 with ProcCode D0150 and AptNum from the day's appointment.

### Agent-Driven Practice Operations Assistant

An AI agent acting as a practice-operations assistant can use Jentic to discover the right Open Dental endpoint for a request like "book a hygiene visit for John Smith next Tuesday at 10am" and execute it with the patient's resolved PatNum. Jentic returns the input schema for /Appointments so the agent posts a valid appointment, and Open Dental's audit log captures the agent's identity via the developer key.

Example prompt: Through Jentic, search for "create an appointment in Open Dental" and post to /Appointments with PatNum, ProvNum, AptDateTime, and Op fields.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/Patients` | Search and list patients |
| GET | `/Patients/{id}` | Get a patient record |
| GET | `/Appointments` | List appointments by date range or operatory |
| POST | `/Appointments` | Create a new appointment |
| GET | `/Claims` | List insurance claims by status |
| GET | `/ClaimProcs` | List per-procedure claim line items |
| GET | `/Allergies` | List allergies on a patient chart |
| GET | `/Commlogs` | Communication log entries for a patient |

## Key resources

- **Patients** — Demographics, balances, family relationships, and contact preferences
- **Appointments** — Scheduling, rescheduling, and operatory assignment
- **Claims** — Insurance claim creation, status, and per-procedure breakdowns
- **Procedures** — Treatment records, diagnoses, and treatment-plan entries
- **Clinical** — Allergies, medications, commlogs, recalls, and chart annotations

## Why Jentic

- **Setup:** Wiring the Open Dental API by hand means assembling the single Authorization header from a developer key plus a per-practice customer key, and navigating a 215-endpoint practice-management surface yourself. Through Jentic you install once, import the Open Dental API from the API Directory, store both keys once, and your agent calls it.
- **Permission scoping:** The API puts the resource id in the URL path (`/Patients/{id}`), so a rule can pin your agent to per-resource work: it can read a patient record or book an appointment. You choose the operations it may call, so writes beyond appointment creation are not included unless you add them.
- **Credential handling:** Your Open Dental developer key and per-practice customer key are stored once, encrypted, by your own Jentic One instance and assembled into the Authorization header at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'book a dental appointment' or 'submit an insurance claim', and Jentic returns the matching Open Dental operation with its required path and body schema so the agent calls the right endpoint without scanning the 215-endpoint resource map.

## Related APIs

- **DrChrono API** — Multi-specialty EHR API including dental, where Open Dental is dental-specific
- **athenahealth API** — Large multi-specialty EHR with broader medical scope and a different scheduling model
- **Dentally API** — Cloud-native dental practice management API focused on UK and AU markets
- **Epic FHIR API** — Hospital-system FHIR API used to import patient data adjacent to a dental practice

## FAQ

### What authentication does the Open Dental API use?

The Open Dental API uses an Authorization header carrying two API keys - the developer key issued by Open Dental and the customer key issued by each practice that authorises the integration. Jentic stores both keys encrypted in your Jentic One instance and assembles the Authorization header at execution so neither value enters the agent's prompt context.

### Can I create appointments for patients with the Open Dental API?

Yes. POST to /Appointments with at least PatNum, ProvNum, AptDateTime, and Op (operatory). Use /AppointmentTypes to pick a default duration and pattern. The endpoint returns the new AptNum which can then be used to attach procedures via /Procedures.

### What are the rate limits for the Open Dental API?

Open Dental does not publish a single global rate limit; throughput is bounded by the cloud database tier the practice is on and by best-practice guidance to avoid concurrent bulk reads during chair-side hours. Use targeted queries with date-range filters on /Appointments and /Procedures rather than full table scans.

### How do I look up a patient with the Open Dental API through Jentic?

Use the Jentic search query "find a dental patient by name". Jentic returns the /Patients GET operation with its query parameters; the agent supplies LName and DateOfBirth and Jentic executes the call against the practice's keys. Run it through Jentic One, the self-hosted execution layer.

### Is the Open Dental API free to use?

Open Dental practices pay a monthly fee for API access, and developers register for a developer key separately. Pricing is published by Open Dental and depends on whether the practice is using the cloud or on-premise deployment with the API service enabled.

### Can the Open Dental API write clinical notes back into the chart?

Yes. Use /Procedures for billable procedure entries and /Commlogs for communication notes; clinical observations also have dedicated resources such as /Allergies and /Medications. All writes are audited and tied to the developer and customer key making the call.

### Can I limit what my agent is allowed to do with the Open Dental API?

Yes. Because you run Jentic One yourself, self-hosted, your own rules decide which of the 215 Open Dental operations the agent may call and which credentials it may use. Since the API carries the resource id in the URL path, such as `/Patients/{id}`, you can pin the agent to per-resource work like reading a patient record via GET /Patients or booking a visit via POST /Appointments. Writes beyond appointment creation, such as posting to /Procedures or /Claims, are not available to the agent unless you add those operations to its allowed set.
