Skip to main content
DELETE
Cancel an appointment by setting its status to cancelled. Only appointments that have not yet had their blood draw confirmed can be cancelled. Cancelling an appointment that is already cancelled returns 200 with that appointment, and writes nothing — no second cancellation is recorded. The response carries Idempotent-Replayed: true so you can tell a repeat from the call that did the work. A repeat that carries a different cancellation_reason returns 409 instead: the recorded reason is never overwritten. See Idempotency.
Appointments cannot be cancelled after the blood draw has been confirmed — that returns 409 Conflict.
Requires the test_sessions_schedule or test_sessions_manage scope.

Request

Path parameters

string
required
Unique identifier (UUID) of the appointment to cancel.

Body parameters

The body is optional — send no body at all to cancel without recording a reason.
string
Free-text reason for the cancellation, up to 500 characters (e.g. Patient no-show). Stored on the appointment and returned as cancellation_reason on this and later reads.

Response

On success, the API returns 200 OK with the cancelled appointment and its embedded profile.
string
required
Unique appointment identifier (UUID).
string
required
UUID of the profile this appointment belongs to.
string
UUID of the test location where the draw takes place.
string
Scheduled appointment datetime as a UTC instant (ISO 8601 with Z suffix, e.g. 2026-05-15T10:30:00Z). May be null.
string
required
Appointment status. Will be cancelled after a successful cancellation.
string
Free-text reason captured when the appointment was cancelled (e.g. no-show, late cancellation, ‘Failed. Repeat required’). null unless status is cancelled.
string[]
required
Addresses that each get one email once every lab result is final, lowercased. Empty when off. See Results-ready emails.
string
required
ISO 8601 timestamp of when the appointment was created.
string
ISO 8601 timestamp of the last update. May be null.
object
required
The patient profile associated with this appointment.
AppointmentPanel[]
required
Panels that were attached to this appointment before cancellation. Look up panel details (name, biomarkers) via List Panels.
AppointmentIndividualBiomarker[]
required
À-la-carte biomarkers attached to this appointment outside any panel (see Add Custom Biomarkers). Cross-reference each biomarker_id against List Biomarkers for display data.
AppointmentShipmentLink[]
required
Shipments that were linked to this appointment before cancellation. Each id cross-references with Get Shipment.
string[]
required
Lab codes (tube barcodes) recorded for this appointment, in scan order. Empty until the blood draw is confirmed. A venous draw carries one code printed on every tube; a pharmacy draw carries one code per microtainer. Results and documents on Get Results reference these codes via lab_code.

Error responses