Skip to content

Quickstart

Authenticate, list your organization's clinics and providers, then create an appointment and receive its webhook event.

Before you begin

Request sandbox credentials and an organization identifier, and confirm the authentication scopes for your use case. Use fictitious or approved sandbox data while testing.

1. Generate an access token

Exchange your client credentials for a bearer token. See Authentication for the full flow, scopes, and token lifetime.

curl --location '{base_url}/apis/v2/oauth/token' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=client_credentials' \
  --data-urlencode 'client_id=YOUR_CLIENT_ID' \
  --data-urlencode 'client_secret=YOUR_CLIENT_SECRET' \
  --data-urlencode 'scope=read write'

2. List clinics

Retrieve the clinics available to your organization. Clinic identifiers are required before working with providers, availability, appointments, and other clinic-specific resources.

curl --location '{base_url}/apis/v2/organisations/{organisation_id}/clinics' \
  --header 'Authorization: Bearer JWT_TOKEN'

See List Clinics for the full response schema.

3. List providers and availability

Use a clinic identifier to retrieve providers and their scheduling availability.

curl --location '{base_url}/apis/v2/clinics/{clinic_id}/doctors' \
  --header 'Authorization: Bearer JWT_TOKEN'

See List Doctors and List Block Times.

4. Create an appointment

Create an appointment using the patient, clinic, provider, category, and start-time values required by the endpoint.

curl --location '{base_url}/apis/v1/appointment' \
  --header 'Authorization: Bearer JWT_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "clinic_id": 18,
    "provider_id": 239,
    "patient_id": 1048,
    "start_time": "2026-07-20T10:00:00-04:00"
  }'

See Create Appointment for the full request body and response.

5. Subscribe to appointment events

Create a webhook subscription, store the signing secret securely, and verify every event signature before processing it.

See Subscribing to Webhooks and Signature Verification.

Next steps