Skip to main content
POST
Schedule a blood draw appointment for a patient profile at a specific test location. Once created, the appointment enters confirmed status by default (some locations may instead default to pending — this is a per-location setting). Use Add Panels to attach blood test panels before confirming the blood draw.

Request

Body parameters

string
required
UUID of the patient profile to create the appointment for.
string
required
UUID of the test location where the blood draw will take place. Use List Locations to find available location IDs.
string
required
Date and time of the appointment in ISO 8601 format (e.g., 2026-05-15T10:30:00Z or 2026-05-15T12:30:00+02:00). Must include a timezone designator — either Z or an explicit offset like +02:00; naive datetimes are rejected. Must be in the future.

Response

On success, the API returns 201 Created with the new appointment.
string
required
Unique appointment identifier (UUID).
string
required
UUID of the profile this appointment belongs to.
string
UUID of the test location. null for home kit appointments.
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
Current appointment status. One of pending, confirmed, blood_drawn, or cancelled. Lab-result completion granularity is derived from Get Results; finer-grained shipment progression from each entry in the inline shipments array (see below) followed to Get Shipment.
string
Method used for the blood draw. One of practitioner or home. May be null.
string
Free-text reason captured when the appointment was cancelled (e.g. no-show, late cancellation, ‘Failed. Repeat required’). null unless status is cancelled.
object
required
The patient profile associated with this appointment.
AppointmentPanel[]
required
Panels currently attached to this appointment. Empty for newly-created appointments — attach via Add Panels. Look up panel details (name, biomarkers) via List Panels.
AppointmentIndividualBiomarker[]
required
À-la-carte biomarkers attached to this appointment outside any panel. Empty for newly-created appointments — attach via Add Individual Biomarkers. Cross-reference each biomarker_id against List Biomarkers for display data.
AppointmentShipmentLink[]
required
Shipments linked to this appointment, oldest-link first. Empty for newly-created appointments — link via Create Shipment (with appointment_id) or Attach Shipments to Appointment.

Error responses