Versioning

Set the version on every call

Set the version with the Nex-Api-Version header. The current version is v3.0.0. Send the header on every request. Set it once, in your HTTP client, and forget it.

📘

Headers

Nex-Api-Version: v3.0.0

Without the header, the call is not served as v3.0.0. It runs as v2, the retired version, when you send the old Accept: application/vnd.Nexhealth+json;version=2 header, and returns 404 otherwise. Either way a stricter per-second limit applies on /appointments and /appointment_slots. See Rate limiting. New developer accounts have a minimum version of v3.0.0, so a v2 call returns 403 with API version 'v2' is below the minimum allowed (v3.0.0 (v20240412)) for this application.

v3.0.0 and v20240412 are the same version

NexHealth first published v3.0.0 under the date-based name v20240412. You may still see that name in older material and in URLs. The two names mean the same version. The Nex-Api-Version header accepts either value and both behave the same. If your integration already sends Nex-Api-Version: v20240412, you do not need to change anything.

v2 is retired

v2, also written v2.2.2, is retired. Do not build on it. If you have an app on v2, the migration guide lists what changed, endpoint by endpoint.

v3.1.0 is the beta version

v3.1.0 is the edge version of the API. The endpoints that exist only in v3.1.0 are documented in this reference under NexHealth API v3.1.0 (Beta). Everything else behaves exactly like v3.0.0: a request sent with Nex-Api-Version: v3.1.0 uses v3.1.0 behavior where an endpoint is redefined there and falls through to v3.0.0 everywhere else. Access to v3.1.0 is limited to approved partner institutions. Contact NexHealth before you build on it.

What v3.1.0 adds:

  • GET /locations/{id} returns ehr: the name of the practice's health record system and whether it is cloud or on premises.
  • POST /patients writes the patient straight to Denticon, Dentrix, Eaglesoft and Open Dental and fires patient_insertion. PATCH /patients writes the change back and fires patient_update.
  • POST /appointments takes a patient object, so you can create the patient, or match an existing one, in the same call.
  • POST /insurance_coverages and DELETE /insurance_coverages/{id}, written to Dentrix, Eaglesoft and Open Dental.
  • POST /communication_logs, written to Open Dental.
  • Field names say ehr where v3.0.0 says emr. For example ehr_appt_descriptor_ids replaces emr_appt_descriptor_ids on POST /appointment_types.

Beta means fields can still change.

ChangelogMCP serverErrorsdevelopers@nexhealth.com