v71

latestOpenAPI 3.1.0raw.githubusercontent.com2026-08-032076961.5 MB
order

Book Phlebotomy Appointment

Book an at-home phlebotomy appointment.

post/v3/order/{order_id}/phlebotomy/appointment/book

Path parameters

order_idstring uuid required

Your Order ID.

Your Order ID.

Request body

booking_keystring required
appointment_notesstring nullable
async_confirmationboolean

If true, the endpoint attempts to confirm the booking within the sync_confirmation_timeout_millisecond window. If confirmation is not received in time, a pending appointment is returned and booking continues asynchronously. If false (default), the endpoint waits for confirmation or returns a 500 error on failure.

sync_confirmation_timeout_millisecondinteger nullable

Maximum time (in milliseconds) to wait for booking confirmation before returning a pending appointment. Only applies when async_confirmation is true. Defaults to 2500ms. Range: 1000-10000ms.

async_confirmation_timeout_millisecondinteger nullable

Maximum time (in milliseconds) to attempt asynchronous booking before cancelling the pending appointment. Only applies when async_confirmation is true. Defaults to 15 minutes. Range: 60000-172800000ms.

Response

Successful Response

idstring uuid4 required
user_idstring uuid4 required
order_idstring uuid4 required
order_transaction_idstring uuid4 nullable
start_atstring date-time nullable required

Time is in UTC

end_atstring date-time nullable required

Time is in UTC

iana_timezonestring nullable
type'phlebotomy' | 'patient_service_center' required

ℹ️ This enum is non-exhaustive.

provider'getlabs' | 'phlebfinders' | 'quest' | 'sonora_quest' required

ℹ️ This enum is non-exhaustive.

status'confirmed' | 'pending' | 'reserved' | 'in_progress' | 'completed' | 'cancelled' required

ℹ️ This enum is non-exhaustive.

provider_idstring required
external_idstring nullable
can_rescheduleboolean required
appointment_notesstring nullable
event_status'pending' | 'reserved' | 'scheduled' | 'completed' | 'cancelled' | 'in_progress' required

ℹ️ This enum is non-exhaustive.

event_dataobject nullable

Example response

{
  "address": {
    "access_notes": "Gate code #1234, use side entrance",
    "city": "San Francisco",
    "country": "United States",
    "first_line": "123 Main St.",
    "second_line": "Apt. 208",
    "state": "CA",
    "zip_code": "91189"
  },
  "appointment_notes": "Please bring photo ID",
  "can_reschedule": true,
  "end_at": "2022-01-01T00:00:00",
  "event_data": {
    "description": "Metadata field containing provider specific data, like cancellation reason or origin"
  },
  "event_status": "scheduled",
  "events": [
    {
      "created_at": "2022-01-01T00:00:00Z",
      "status": "scheduled"
    },
    {
      "created_at": "2022-01-02T00:00:00Z",
      "status": "completed"
    }
  ],
  "external_id": "ext-123",
  "iana_timezone": "America/New_York",
  "id": "9e3ec924-0296-4673-8f26-a8da9efeb1e4",
  "location": {
    "lat": 37.7749295,
    "lng": -122.4194155
  },
  "order_id": "d4bec7ea-8178-4aff-9c63-9341f292ab91",
  "order_transaction_id": "96d4408f-ea75-411d-bee1-f832f5324cca",
  "provider": "getlabs",
  "provider_id": "123",
  "start_at": "2022-01-01T00:00:00",
  "status": "confirmed",
  "type": "phlebotomy",
  "user_id": "7e517181-35ac-4530-bcdc-b81b93d0d22a"
}