Update Waitlist Request¶
Update an existing patient waitlist request. Only the fields provided in the request body are modified.
Endpoint¶
Path Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) | Yes | Unique identifier of the waitlist request. |
Request Body¶
All fields are optional. Only provided fields are updated; omitted fields keep their existing values.
| Parameter | Type | Required | Description |
|---|---|---|---|
preferred_providers |
array | No | Replaces the list of preferred provider IDs. |
preferred_time_slots |
array | No | Replaces preferred time slots. Allowed values: MORNING, AFTERNOON, EVENING, ANYTIME. |
preferred_days |
array | No | Replaces preferred days. Allowed values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY. |
date_range_start |
string (date) | No | New earliest date (YYYY-MM-DD, interpreted in clinic timezone). |
date_range_end |
string (date) | No | New latest date (YYYY-MM-DD, interpreted in clinic timezone). |
appointment_category_id |
string | No | New appointment category. Must be valid for the clinic. |
appointment_category |
string | No | Category label. If omitted, resolved from the category API. |
appointment_type |
string | No | New appointment type. Accepts Initial Evaluation, Follow Up, INITIAL_EVAL, or FOLLOW_UP. |
payment_type |
string | No | New payment method. Allowed values: SELF_PAY, INSURANCE_PAY. |
priority |
integer | No | New urgency level 1-5. |
notes |
string | No | Replaces the free-text notes. |
status |
string | No | New request status. Allowed values: ACTIVE, FULFILLED, CANCELLED, EXPIRED. Typically used to cancel a request. |
Request¶
curl --location --request PATCH '{base_url}/apis/v1/waitlist-requests/req-123' \
--header 'Authorization: Bearer JWT_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"preferred_time_slots": ["MORNING"],
"preferred_days": ["MONDAY", "TUESDAY"],
"priority": 2,
"notes": "Updated notes"
}'
Request Examples¶
Cancel a request¶
Extend the date range¶
Response¶
Success Response¶
Code: 200 OK
{
"code": 2000,
"message": "Success",
"data": {
"id": "req-123",
"clinic_id": "clinic-123",
"patient_id": "patient-012",
"preferred_providers": ["provider-345"],
"preferred_time_slots": ["MORNING"],
"preferred_days": ["MONDAY", "TUESDAY"],
"date_range_start": "2026-05-15",
"date_range_end": "2026-06-15",
"appointment_category_id": "2058",
"appointment_type": "INITIAL_EVAL",
"appointment_duration": 60,
"payment_type": "INSURANCE_PAY",
"priority": 2,
"status": "ACTIVE",
"notes": "Updated notes",
"patient": {
"id": "patient-012",
"first_name": "Jane",
"last_name": "Doe"
},
"created_at": "2026-05-10T09:00:00Z",
"created_at_epoch_ms": 1746867600000,
"updated_at": "2026-05-12T10:30:00Z",
"created_by": "user-123",
"updated_by": "user-456"
}
}
Response Fields¶
The response shape matches Get Waitlist Request.
Error Response¶
Code: 409 Conflict
Code: 400 Bad Request
Notes¶
- A request in a terminal status (
FULFILLED,CANCELLED,EXPIRED) cannot be updated; the API returns409 Conflict. - Some changes (for example narrowing the date range) may be rejected with
400while active invites are pending — rescind those invites first.