If you are looking to connect a third-party application to your practice management data, the open dental API getting started process is the first step toward automating your workflows. The Open Dental API allows external software to securely read from or write to your database, enabling features like custom patient dashboards, automated marketing triggers, or specialized reporting tools that go beyond standard software capabilities.
Prerequisites
Before you can begin, you must ensure your office environment meets the technical requirements for external communication.
- eConnector Service: You must have the eConnector service installed and running on your server. Go to Setup > eServices > eConnector Service to verify that the status is "Working." This service acts as the bridge between your local database and the outside world.
- Developer Portal Access: You (or your software developer) must have an account in the Open Dental Developer Portal. If you do not have one, contact
vendor.relations@opendental.comto request access. - API Keys: You need two types of keys:
- Developer Key: Unique to the developer/vendor, obtained via the Developer Portal.
- Customer Key: Generated in the Developer Portal and then entered into your Open Dental software.
- Enabling the API: In your Open Dental software, go to Setup > Advanced Setup > API. Check the Enabled box and add the Customer Key provided by your developer.
Implementation
The Open Dental API uses standard RESTful principles. You will authenticate using Basic Auth, where the username is your Developer Key and the password is the Customer Key.
Below is a simple example using Node.js and the axios library to fetch patient information.
const axios = require('axios');
// Replace with your actual keys
const developerKey = 'YOUR_DEVELOPER_KEY';
const customerKey = 'YOUR_CUSTOMER_KEY';
const config = {
method: 'get',
url: 'https://api.opendental.com/api/v1/patients/123', // Replace 123 with a valid PatNum
auth: {
username: developerKey,
password: customerKey
}
};
axios(config)
.then(response => {
console.log('Patient Data:', response.data);
})
.catch(error => {
console.error('Error fetching data:', error.response ? error.response.data : error.message);
});
Common Errors
When working with the API, you may encounter specific HTTP status codes that indicate where the connection is failing:
- 401 Unauthorized: This almost always means your Developer Key or Customer Key is incorrect, or the Customer Key has not been added to the Setup > Advanced Setup > API window in Open Dental.
- 403 Forbidden: The Developer Key does not have the required permissions for the specific resource you are trying to access. Check your permissions in the Developer Portal.
- 504 Gateway Time-out: The request took longer than 60 seconds to process. This usually happens if you are requesting a massive amount of data at once. Try filtering your request to smaller datasets.
Limitations
It is important to understand that the API is not a direct SQL connection.
- Rate Limiting: To protect your database performance, requests are throttled. If you only have
ApiReadAllpermissions, you are limited to one request every five seconds. Having additional permissions (likeApiComm) relaxes this to one request per second. - Data Restrictions: You cannot perform arbitrary SQL queries. You must use the documented endpoints provided in the Open Dental API documentation.
- Version Compatibility: Always ensure your Open Dental version (e.g., 25.2 or 25.3) is up to date, as newer API endpoints may not be available on older versions.
Don't want to build your own dashboard? DentalCanvas already connects to your Open Dental data and shows you everything in a visual interface.
This article is provided by opendentalsupport.com, an independent community resource. We are not affiliated with Open Dental Software, Inc.