Skip to content

Create Appointment

Create a new appointment for a patient with a doctor at a specific clinic.

Endpoint

POST /apis/v1/appointment

Request Body

Parameter Type Required Description
doctor_id integer Yes The unique identifier of the doctor
patient_id integer Yes The unique identifier of the patient
clinic_id integer Yes The unique identifier of the clinic
appointment_category array Yes Array of appointment category IDs
timestamp integer Yes Start time as Unix timestamp (seconds since epoch)
end_timestamp integer Yes End time as Unix timestamp (seconds since epoch)
payment_mode string Yes Payment method (see Payment Mode Values)
spry_case_id string No Case to associate with this appointment (e.g. "SPRY_CASE_694937120fde6014d5956f69"); links appointment to an existing patient case
tele_health_url string No Telehealth session URL; set when booking a virtual appointment
comments string No Provider-facing notes or comments for the appointment
appointment_notes string No Additional notes attached to the appointment

Request

curl --location '{base_url}/apis/v1/appointment' \
  --header 'Authorization: Bearer JWT_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "doctor_id": 239,
    "patient_id": 538748,
    "clinic_id": 18,
    "appointment_category": [14],
    "timestamp": 1768055113,
    "end_timestamp": 1768058713,
    "payment_mode": "INSURANCE_PAY",
    "spry_case_id": "SPRY_CASE_694937120fde6014d5956f69"
  }'

Request Examples

Self-Pay Appointment

{
    "doctor_id": 485195,
    "patient_id": 12345,
    "clinic_id": 525,
    "appointment_category": [3403],
    "timestamp": 1721836800,
    "end_timestamp": 1721838600,
    "payment_mode": "SELF_PAY"
}

Insurance-Pay Appointment Linked to a Case

{
    "doctor_id": 485195,
    "patient_id": 12345,
    "clinic_id": 525,
    "appointment_category": [3403],
    "timestamp": 1721836800,
    "end_timestamp": 1721838600,
    "payment_mode": "INSURANCE_PAY",
    "spry_case_id": "SPRY_CASE_694937120fde6014d5956f69"
}

Response

Success Response

Code: 200 OK

{
    "code": 2000,
    "message": "Success",
    "data": {
        "appointment_id": 2245423,
        "doctor": {
            "doctor_id": 239,
            "first_name": "ADMIN",
            "last_name": "",
            "email": "t@spryhealth.care"
        },
        "patient": {
            "patient_id": 538748,
            "first_name": "Jane",
            "last_name": "Doe"
        },
        "clinic": {
            "clinic_id": 18,
            "name": "Spry Main Clinic"
        },
        "category": [
            { "category_id": 14, "name": "Initial Evaluation" }
        ],
        "date_time": 1768055113,
        "end_date_time": 1768058713,
        "status": "SCHEDULED",
        "payment_mode": "INSURANCE_PAY",
        "spry_case_id": "SPRY_CASE_694937120fde6014d5956f69",
        "case_title": "Stable Burst Fracture",
        "tele_health_url": null,
        "comments": null,
        "appointment_notes": null,
        "created_at": "2026-06-16T10:30:00",
        "updated_at": "2026-06-16T10:30:00"
    }
}

Response Fields

Field Type Description
appointment_id integer Unique ID of the created appointment
doctor object Doctor summary (id, name, email)
patient object Patient summary (id, name)
clinic object Clinic summary (id, name)
category array Appointment categories with id and name
date_time integer Start time as Unix timestamp
end_date_time integer End time as Unix timestamp
status string Appointment status (e.g. SCHEDULED)
payment_mode string Payment mode for this appointment
spry_case_id string Associated case ID, if provided
case_title string Title of the associated case, if any
tele_health_url string Telehealth URL, if set
comments string Provider-facing comments
appointment_notes string Notes attached to the appointment
created_at string Creation timestamp
updated_at string Last updated timestamp

Error Response

Code: 400 Bad Request

{
    "code": 4000,
    "message": "Error description",
    "data": null
}

Payment Mode Values

Value Description
SELF_PAY Patient pays directly out of pocket
INSURANCE_PAY Payment through insurance coverage
CASH Cash payment
CARD Card payment
UPI UPI payment
WALLET Wallet payment