Skip to main content

Lab Requisitions

A lab requisition is a collection of service requests representing a complete lab order. Requisitions are created by WHOOP (not by the partner) when a member's lab tests are ordered.

Fields​

FieldTypeDescription
idstringUnique identifier for the requisition
created_attimestampWhen the requisition was created
updated_attimestampWhen the requisition was last updated
service_requestsarrayThe list of service requests in this requisition
patientobjectThe patient for whom this requisition was created. Contains an id as well as partner-specific metadata.
appointmentsarraySample-collection bookings for this requisition (see Appointments)

Example​

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T14:22:00Z",
"patient": {
"id": "569250ea-0a6b-49ab-804b-13cf486aacc7"
},
"service_requests": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "active",
"intent": "order",
"code": "LIPID_PANEL",
"task_business_status": "PARTIAL_RESULTS_READY",
"task_description": "Fasting lipid panel"
},
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"status": "active",
"intent": "order",
"code": "CBC",
"task_business_status": "FULL_RESULTS_READY",
"task_description": "Complete blood count"
}
],
"appointments": [
{
"type": "<partner-specific value>",
"service_request_ids": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
],
"start_time": "2024-01-16T04:00:00.000Z",
"slot_id": "2f0b7a9c-4c2e-4d7a-9d2f-1c5f5a1a2b3c",
"collection_address": {
"flat_no": "204",
"building": "Al Razi Building 64",
"area": "Dubai Healthcare City",
"emirate": "dxb"
}
}
]
}

Appointments​

Each appointment covers one or more of the requisition's service requests. type tells you which fields to expect. Bookings made through your scheduling system use a partner-specific type value (listed in the API reference and shared with you at onboarding) and carry the booking details below. Any other appointment has type: appointment and only the common fields.

FieldTypeDescription
typestringappointment, or your partner-specific value
service_request_idsarrayThe service requests this appointment covers
start_timetimestampWhen the appointment starts
slot_idstringThe timeslot that was booked in your scheduling system. Partner-specific types only.
collection_addressobjectWhere the sample is collected. Home collections only; lab collections happen at the collection centre and have no address. Fields: flat_no, building, area, emirate, landmark.

Test Data​

In non-production environments, POST /v2/partner/development/add-test-data creates a test member and a complete requisition for your partner account, including a booked appointment. Pass appointmentType=IN_PERSON (default) for a lab collection or appointmentType=MOBILE for a home collection with a collection_address. Each call books a real timeslot in your scheduling system. The endpoint returns 404 in production. See the API reference for the request and response.

When to Use the Requisition Endpoint​

A requisition is the entry point for every new lab order. When you receive a lab_requisition.created webhook, fetch the full requisition to see which tests are ordered and retrieve the patient details you need to process the order.

Use GET /v2/partner/requisition/{id} when you need to see all service requests for an order at once.

Use GET /v2/partner/service-request/{id} when you need to check the status of a single specific test.

Requisition Lifecycle​

Requisitions are created and managed by WHOOP. As a partner, you:

  • Read requisitions and their service requests
  • Update individual service request statuses as you process the order
  • Submit diagnostic reports for each completed service request