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.
HeadersNex-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}returnsehr: the name of the practice's health record system and whether it is cloud or on premises.POST /patientswrites the patient straight to Denticon, Dentrix, Eaglesoft and Open Dental and firespatient_insertion.PATCH /patientswrites the change back and firespatient_update.POST /appointmentstakes apatientobject, so you can create the patient, or match an existing one, in the same call.POST /insurance_coveragesandDELETE /insurance_coverages/{id}, written to Dentrix, Eaglesoft and Open Dental.POST /communication_logs, written to Open Dental.- Field names say
ehrwhere v3.0.0 saysemr. For exampleehr_appt_descriptor_idsreplacesemr_appt_descriptor_idsonPOST /appointment_types.
Beta means fields can still change.