API Reference

Availability

Query real-time booking availability with the Jump EHR Availability API. List slots, find next available, and verify before booking.

The Availability API provides real-time booking slot queries. It accounts for clinician sessions, existing bookings, buffer times, holds, blocks, minimum notice periods, and maximum advance booking rules.

Availability is computed in real-time — it is not a stored resource. Slots can be taken between query and booking, so always verify before confirming.

The next_available suggestion is best-effort — verify it again before booking.

GET
/availability

Authorization

BearerApiKey
AuthorizationBearer <token>

API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.

In: header

Query Parameters

date_from*string

Start date (YYYY-MM-DD)

Formatdate
date_to*string

End date (YYYY-MM-DD), max 14 days from date_from

Formatdate
appointment_template_id*string
clinician_profile_id?string
Formatuuid
location_id?string
Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/availability?date_from=2019-08-24&date_to=2019-08-24&appointment_template_id=string"
{  "data": {    "slots": [      {        "start_time": "string",        "end_time": "string",        "clinician_profile_id": "string",        "clinician_name": "string",        "location_id": "string",        "appointment_template_id": "string",        "is_available": true      }    ],    "date_range": {      "from": "string",      "to": "string"    }  },  "meta": {    "request_id": "req_abc123"  }}
GET
/availability/next

Authorization

BearerApiKey
AuthorizationBearer <token>

API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.

In: header

Query Parameters

appointment_template_id*string
clinician_profile_id?string
Formatuuid
location_id?string
Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/availability/next?appointment_template_id=string"
{  "data": {    "next_available": "string",    "clinician_profile_id": "string",    "clinician_name": "string",    "location_id": "string",    "appointment_template_id": "string"  },  "meta": {    "request_id": "req_abc123"  }}

Try-it is disabled for POST /availability/verify

This operation writes data. Running it from these docs would target the production API and change a real record. Copy the request sample and run it against staging first.

Authorization

BearerApiKey
AuthorizationBearer <token>

API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/availability/verify" \  -H "Content-Type: application/json" \  -d '{    "appointment_template_id": "string",    "start_time": "2019-08-24T14:15:22Z",    "end_time": "2019-08-24T14:15:22Z"  }'
{  "data": {    "available": true,    "start_time": "string",    "end_time": "string",    "reason": "string",    "next_available": "string"  },  "meta": {    "request_id": "req_abc123"  }}