DEV Community

CAmador
CAmador

Posted on

Validate Dental Scheduling in 5 Minutes

If you’re in the middle of wiring up dental PMS integrations (Dentrix, Open Dental, Eaglesoft, etc.), you don’t need a tour, you need working calls to confirm what’s actually bookable and how appointment states behave.

This post links to a read-only Postman collection that runs five GETs to validate scheduling semantics, before you write any business logic.

Run It

Run in Postman https://god.gw.postman.com/run-collection/19774779-358d4afa-f4b1-4aac-8167-2d73f9a92882

3-min video (account + core concepts):
https://www.loom.com/share/e541491c076c4003b61528b052e3c96f

Quickstart (curl):
https://github.com/synchronizer-api/quickstart

What you validate (read-only)

Locations: list locations, pick a simple one for first pass
Providers: scope to a provider in that location
Availability: check configured bookable times across a time window
Appointment details : see CONFIRMED / PATIENT_MISSED / CANCELED as explicit events

This avoids inferring behavior from timestamps or UI quirks and lets you sanity-check slot semantics quickly.

Prereqs (free dev signup to token)

  1. Create a developer account (free)
  2. get a sandbox API key / token
  3. Fork the Postman collection
  4. Set environment variables:

BASE_URL (e.g., https://nexhealth.info)
TOKEN (1-hour bearer from POST /authenticates)
subdomain
location_id
You’ll also set providerId, startIso, endIso, apptId (sandbox values are available in your portal)

Headers on every call:
Accept: application/vnd.Nexhealth+json;version=2
Authorization: Bearer

The Five Requests (high level)

GET /locations?subdomain={{subdomain}}
GET /providers?location_id=…GET /providers?location_id={{location_id}}
GET /availability?location_id=…&provider_id=…&start=…&end=…GET /availabilities?subdomain?subdomain={{subdomain}}&location_id={{location_id}}&page=1&per_page=5&active=true&ignore_past_dates=false
GET /appointment_slots?subdomain=test&start_date={{startIso}}&days=10&lids[]={{location_id}}&pids[]={{provider_id}}&overlapping_operatory_slots=false
GET /appointments/{id}/historyGET /appointments/{{appt_id}}

If you prefer terminal over UI, the quickstart repo has curl equivalents.

Why this helps
Truth over guesswork: \appointment_slots endpoint returns realt time availability of a provider

Auditable changes: appointment details exposes rcancels/confirmations/patient missed as events, not vibes.

Safe to try: read-only in a sandbox.

Try it now

Fork & run: https://god.gw.postman.com/run-collection/19774779-358d4afa-f4b1-4aac-8167-2d73f9a92882
Curl quickstart: https://github.com/synchronizer-api/quickstart

What examples would help next? Thinking: webhooks delivery/retries, conflict paths, multi-location diffs.

Top comments (0)