Sandbox and test mode
What your sandbox includes, what it can test, and how to move to production.
Every developer account starts in test mode with a sandbox.
What you get when you sign up
- A demo practice. NexHealth creates a demo institution for your organization. It is named after your organization, with "Demo Practice" at the end, and has a location with sample data. You can make API calls against it right away.
- A sandbox API key. Generate it on the API Key page of the Developer Portal. Each organization has one sandbox API key and one production API key. The key is shown once, so save it. You can rotate it later.
- Longer-lived tokens. A bearer token from
/authenticatesis valid for 24 hours in the sandbox and 1 hour in production.
Sandbox and production calls go to the same base URL, https://nexhealth.info, with different API keys.
What the demo practice covers
The demo practice is sample data with no health record system behind it. Use it to test your requests. Connect a test system to test writes.
| What you test | Demo practice | Demo practice with a connected Open Dental demo |
|---|---|---|
| Reading patients, providers and operatories | Yes | Yes |
Booking an appointment and getting a 201 response | Yes | Yes |
The write into the health record system, with foreign_id set and the appointment_insertion.complete webhook sent | No. The write never happens and foreign_id stays null. | Yes |
| Paying off a balance on the ledger | No. It needs a connected system. | Yes. See the Payments quickstart. |
Test your error handling
You can cause these errors on purpose in the sandbox. Use them to check how your app responds.
| Error | How to cause it | What you get |
|---|---|---|
| Missing token | Send a request without the Authorization header. | 401 |
| Duplicate patient | Create a patient, then send the same request again. | 400 with A patient with that information already exists and the ID of the existing patient |
| No access | Send a subdomain your API key cannot reach. | 403 with You don't have access to perform this action. |
| Ignored parameter | Send a parameter the endpoint does not accept, such as location_id on GET /patients/{id}. | code: true and Note that following parameters are ignored: location_id. in description |
For the cause and fix of every error, see Errors.
Test against a real health record system
The demo practice is the fastest way to try the API. To test the full path, including the Synchronizer install and writes into a health record system, connect a test system to your demo practice:
- Install the free demo version of Open Dental. See Setting up an Open Dental sandbox sync.
- In the Developer Portal, open your demo practice and click "Create new sync".
- Install the Synchronizer with the product key shown in the portal.
You keep using your sandbox API key for this.
Move to production
- Upgrade your account in the Developer Portal. This requires a credit card.
- Use the "Test mode" toggle at the top right of the portal to switch between test mode and production mode.
- In production mode, create an institution and a sync for each practice you onboard.
The Go-live checklist takes you from a working sandbox build to your first live practice.
Updated 12 minutes ago