API Developer Setup
The API web service is hosted at Open Dental headquarters. All requests are routed through this address to the appropriate office. The API Key specified in the Authorization header is linked to a specific office.
For additional information on integration types, see: Open Dental Integration Types.
See API Guide - Getting Started.
In order to use the Remote API, the office must have an eConnector running. See eConnector for installation instructions.
Then, the developer will work with the customer to enable the API within Open Dental. Have the customer go to API Setup and check the Enabled checkbox. This is also where additional customer keys can be created and disabled.
For setup information for other API modes, see API Modes - Local, Service, and Cloud.
When requesting data from the API server, two API keys must be present in the request header: a Developer API Key and a Customer API Key. The Developer API key is unique to each developer and is obtained by logging into the Developer Portal. Customer API Keys are unique to each customer/developer pair and generated by the developer within the portal.
To obtain Developer Portal access contact vendor.relations@opendental.com. Please include the details below.
Product/Integration Owner (Company Name):
Contact Phone Number:
Email address for long-term billing:
Mailing address for long-term billing:
3rd Party Developer Name (if any):
3rd Party Developer Email Address:
A list of the API resources you need access to and for each permission, whether you need read, create, or update for that permission:
A description of the application you are intending to build (type and purpose):
To assign a Customer API key to an Open Dental customer, they will go to Setup > Advanced Setup > API. Click the Add Key in the lower left. Here is where you paste a key generated from the developer portal. The customer has the ability to enable or disable a key. The customer can view permissions granted to that key, but they cannot change those permissions. The interface in this window displays information from our HQ server, not the customer database.
When using the window described above, a copy of the keys are placed in a table in the customer's local database called "apikey". This table will then contain the customer's apikeys and each corresponding developer name exactly as entered in the developer portal. Occasionally, you may want to retrieve this information via a query. This will be rare, but can be accomplished with the following example:
SELECT CustApiKey FROM apikey WHERE DevName='YourName';
The Developer Portal is where third-party developers can add or move keys, see key permissions, or edit account details. The process of moving a key may take up to 15 minutes to take effect.
Each API request must include an Authorization header in this format:
Authorization: ODFHIR {DeveloperKey}/{CustomerKey}
For testing, the following credentials can be used:
Authorization: ODFHIR NFF6i0KrXrxDkZHt/VzkmZEaUWOjnQX2z
We use Postman for testing API requests and Webhook.site for testing API Events, but there are other options.
Open Dental hosts a test database for developers to test against. The base URL is the same endpoint listed above.
See the Authorization section above for the test credentials.
These steps work for very large databases and should be taken to retrieve Aging data.
Within Open Dental:
Via the API:
SELECT patnum, estbalance, bal_0_30, bal_31_60, bal_61_90, balover90, insest, baltotal FROM patient WHERE patnum=guarantor and clinicnum=@ClinicNum AND ( estbalance>0 OR bal_0_30>0 OR bal_31_60>0 OR bal_61_90>0 OR balover90>0 OR insest>0 OR baltotal>0)
To get aging data as of a date other than today (not recommended), there are two options: