Appointments
Add Panels
Add blood test panels to an appointment
POST
/
api
/
v1
/
appointments
/
{id}
/
panels
curl --request POST \
--url https://anivahealth.com/api/v1/appointments/c9f3e2a1-7d6b-4c5e-b3a2-1f0e9d8c7b6a/panels \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"panel_ids": [
"d4e5f6a7-b8c9-4d1e-a2f3-b4c5d6e7f8a9",
"e5f6a7b8-c9d0-4e2f-b3a4-c5d6e7f8a9b0"
]
}'
{
"success": true
}
{
"error": "Some individual biomarkers need more than 150 µl of one lab's microtainer. Remove some of them."
}
{
"error": "Panels cannot be added after blood draw has been confirmed"
}
{
"error": "Panels not found: e5f6a7b8-c9d0-4e2f-b3a4-c5d6e7f8a9b0"
}
Add one or more blood test panels to an existing appointment. You can call this endpoint multiple times to build up the panel selection before confirming the blood draw.
Requires the
At a pharmacy location (capillary draw), the draw is packed into microtainers. Panels go first, in
booking order. Individual biomarkers then fill the free space of the panel microtainers. When they
need more space, they open new microtainers. We spread them evenly. Each microtainer holds at most
150 µl of individual biomarkers. If the resulting set of panels breaks this rule, the call returns
test_sessions_schedule scope.
Panels cannot be added after you call Confirm Blood Draw.
Attempting to add panels to a confirmed appointment returns
409 Conflict.400 with
an error message and no panel is added.
Request
Path parameters
string
required
Unique identifier (UUID) of the appointment to add panels to.
Body parameters
string[]
required
Array of panel UUIDs to add to the appointment. Must contain at least one item.
Response
On success, the API returns200 OK confirming the panels have been added.
boolean
true when the panels have been successfully added to the appointment.Error responses
| Status | Description |
|---|---|
400 | Validation error — e.g., panel_ids is empty or contains an invalid UUID — or, at a pharmacy, the individual biomarkers no longer fit in their microtainers. |
403 | Forbidden — your API key does not have access to this operation. |
404 | Appointment or one or more panels not found. |
409 | Conflict — panels cannot be added after the blood draw has been confirmed. |
500 | Internal server error. |
curl --request POST \
--url https://anivahealth.com/api/v1/appointments/c9f3e2a1-7d6b-4c5e-b3a2-1f0e9d8c7b6a/panels \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"panel_ids": [
"d4e5f6a7-b8c9-4d1e-a2f3-b4c5d6e7f8a9",
"e5f6a7b8-c9d0-4e2f-b3a4-c5d6e7f8a9b0"
]
}'
{
"success": true
}
{
"error": "Some individual biomarkers need more than 150 µl of one lab's microtainer. Remove some of them."
}
{
"error": "Panels cannot be added after blood draw has been confirmed"
}
{
"error": "Panels not found: e5f6a7b8-c9d0-4e2f-b3a4-c5d6e7f8a9b0"
}
⌘I
curl --request POST \
--url https://anivahealth.com/api/v1/appointments/c9f3e2a1-7d6b-4c5e-b3a2-1f0e9d8c7b6a/panels \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"panel_ids": [
"d4e5f6a7-b8c9-4d1e-a2f3-b4c5d6e7f8a9",
"e5f6a7b8-c9d0-4e2f-b3a4-c5d6e7f8a9b0"
]
}'
{
"success": true
}
{
"error": "Some individual biomarkers need more than 150 µl of one lab's microtainer. Remove some of them."
}
{
"error": "Panels cannot be added after blood draw has been confirmed"
}
{
"error": "Panels not found: e5f6a7b8-c9d0-4e2f-b3a4-c5d6e7f8a9b0"
}