Appointments
Preview Appointment
Preview the tubes and the bill of an appointment
GET
/
api
/
v1
/
appointments
/
{id}
/
preview
curl --request GET \
--url https://anivahealth.com/api/v1/appointments/c9f3e2a1-7d6b-4c5e-b3a2-1f0e9d8c7b6a/preview \
--header 'x-api-key: YOUR_API_KEY'
{
"containers": [
{
"type": "serum",
"name": "Serum",
"cap_color": "#A0784B",
"volume": "7.5 ml",
"article_number": "01.1602.001",
"count": 3
},
{
"type": "edta",
"name": "EDTA",
"cap_color": "#D13438",
"volume": "3.4 ml",
"article_number": "04.1914.001",
"count": 2
},
{
"type": "glucoexact",
"name": "GlucoEXACT",
"cap_color": "#9E9E9E",
"volume": "3.1 ml",
"article_number": "05.1074.001",
"count": 1
}
],
"routing": null,
"pricing": {
"total_cents": 13751,
"retail_total_cents": 17029,
"fees": {
"phlebotomy_fee_cents": 2500,
"snack_fee_cents": 500,
"logistics_fee_cents": 2000,
"material_fee_cents": 250
},
"total_with_fees_cents": 19001,
"positions": [
{
"id": "b7d4c2e1-9a3f-4c8b-91d2-5e6f7a8b9c0d",
"name": "Aniva Blood Count",
"price_cents": 452,
"retail_cents": 520,
"tier": "routine"
}
],
"panels": [
{
"id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"name": "Hormones (Female)",
"price_cents": 11900,
"retail_cents": 14900
}
],
"biomarkers": [
{ "id": 42, "name": "HDL Cholesterol", "price_cents": 233, "retail_cents": 268, "required_by": [279] },
{
"id": 71,
"name": "Hemoglobin",
"price_cents": 0,
"retail_cents": 0,
"via_position": "b7d4c2e1-9a3f-4c8b-91d2-5e6f7a8b9c0d"
},
{ "id": 84, "name": "High-Sensitivity C-Reactive Protein (hs-CRP)", "price_cents": 1166, "retail_cents": 1341, "required_by": [279] },
{ "id": 279, "name": "hs-CRP / HDL Ratio", "price_cents": 0, "retail_cents": 0, "requires": [42, 84] }
]
}
}
{
"containers": [],
"routing": null,
"pricing": null
}
{
"containers": [],
"routing": null,
"pricing": {
"total_cents": 11900,
"retail_total_cents": 14900,
"fees": {
"phlebotomy_fee_cents": 2500,
"snack_fee_cents": 500,
"logistics_fee_cents": 2000,
"material_fee_cents": 250
},
"total_with_fees_cents": 17150,
"positions": [],
"panels": [
{
"id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"name": "Hormones (Female)",
"price_cents": 11900,
"retail_cents": 14900
}
],
"biomarkers": [{ "id": 555, "name": "Poppy Seeds (Pap s)", "price_cents": null, "retail_cents": null }]
}
}
{
"error": "Appointment not found"
}
Returns what an appointment needs, for the panels and biomarkers on it. Nothing is ordered.
containers: the tubes, cards or cups the practitioner prepares.pricing: the bill at your rate card. Quote Cart returns the same bill without an appointment.routing: alwaysnull.
test_sessions_view, test_sessions_schedule, test_sessions_operate or test_sessions_manage scopes.
Request
Path parameters
string
required
Unique identifier (UUID) of the appointment to preview container requirements for.
Response
On success, the API returns200 OK with the container requirements and reserved fields for future use.
object[]
required
Array of required specimen-collection containers. Empty when no panels or biomarkers have been added to the appointment. Also empty when the appointment’s location-day cannot be resolved yet, for example when it has no scheduled time.
Show container
Show container
string
Container type identifier. One of
serum, serum_capillary, edta, edta_capillary, citrate, lihep, glucoexact, naf, homocysteine, urine, dried_blood_spot, swab, stool, saliva, hair, or trace_metal.string
Human-readable container name (e.g., “Serum”, “EDTA”, “Li-Heparin”).
string
Hex color code of the container cap for display (e.g.,
"#A0784B"). null when the
container has no cap.string
Volume capacity of the container (e.g.,
"7.5 ml"). null where volume does not apply.string
Manufacturer catalog number (REF), when known (e.g.,
"01.1602.001"). Omitted for containers without a mapped article number.integer
Number of containers of this type required.
null
Lab routing details — intentionally not exposed, always
null.object | null
The whole-cart bill for the appointment, at your card.
null when the appointment has no attached
tests, or when your key lacks the prices_view scope. Pricing explains the
model; individual amounts follow the price
objects reference.Show Bill fields
Show Bill fields
integer
What the cart costs on your card: the priced positions plus the priced panels plus the priced
biomarker rows. A row with
price_cents: null adds nothing, so a cart carrying one totals less
than it will cost.integer
The same total at the recommended retail card.
object
The fees one draw adds on your card, in cents. The monthly invoice bills them. See Get Rate
Card.
Show fees
Show fees
integer
Phlebotomy fee per completed appointment.
integer
Snack for the patient. Billed only when the patient gets a snack. Omitted when your
patients get none; contact Aniva to offer snacks.
integer
Courier fee for the pickup. Your appointments at the same location on the same day share one
fee.
integer
Consumables: tubes, labels, bag.
integer
total_cents plus every fee in fees, with the full logistics fee. It is less when another of
your appointments shares the pickup.object[]
Every position that fired on this cart — billed once, in full, delivering its whole member
set. Carries
id, name, price_cents, retail_cents and tier. A position that is not
partner-facing still fires and still bills, and is reported with id and name set to
null.object[]
Every attached panel, as
id, name, price_cents and retail_cents.object[]
One row per delivered biomarker — what you asked for, plus the components its ratios pulled
in and the members its positions deliver.
number
Biomarker identifier.
string
Biomarker display name.
integer | null
What this row costs on your card, with
retail_cents beside it. 0 when a position pays for
it; null when Aniva cannot price it.number[]
The ratios that pulled this component into the cart. Omitted when none did. A component is
paid once per cart however many ratios lean on it.
number[]
Present when this row IS a ratio: the components it is billed as.
string
The position paying for this marker, which is why the row costs
0. Omitted when nothing
covers it. null when the covering position is not partner-facing.Error responses
| Status | Description |
|---|---|
400 | Invalid ID format — the provided value is not a valid UUID. |
403 | Forbidden — your API key does not have access to this operation. |
404 | Appointment not found. |
500 | Internal server error. |
curl --request GET \
--url https://anivahealth.com/api/v1/appointments/c9f3e2a1-7d6b-4c5e-b3a2-1f0e9d8c7b6a/preview \
--header 'x-api-key: YOUR_API_KEY'
{
"containers": [
{
"type": "serum",
"name": "Serum",
"cap_color": "#A0784B",
"volume": "7.5 ml",
"article_number": "01.1602.001",
"count": 3
},
{
"type": "edta",
"name": "EDTA",
"cap_color": "#D13438",
"volume": "3.4 ml",
"article_number": "04.1914.001",
"count": 2
},
{
"type": "glucoexact",
"name": "GlucoEXACT",
"cap_color": "#9E9E9E",
"volume": "3.1 ml",
"article_number": "05.1074.001",
"count": 1
}
],
"routing": null,
"pricing": {
"total_cents": 13751,
"retail_total_cents": 17029,
"fees": {
"phlebotomy_fee_cents": 2500,
"snack_fee_cents": 500,
"logistics_fee_cents": 2000,
"material_fee_cents": 250
},
"total_with_fees_cents": 19001,
"positions": [
{
"id": "b7d4c2e1-9a3f-4c8b-91d2-5e6f7a8b9c0d",
"name": "Aniva Blood Count",
"price_cents": 452,
"retail_cents": 520,
"tier": "routine"
}
],
"panels": [
{
"id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"name": "Hormones (Female)",
"price_cents": 11900,
"retail_cents": 14900
}
],
"biomarkers": [
{ "id": 42, "name": "HDL Cholesterol", "price_cents": 233, "retail_cents": 268, "required_by": [279] },
{
"id": 71,
"name": "Hemoglobin",
"price_cents": 0,
"retail_cents": 0,
"via_position": "b7d4c2e1-9a3f-4c8b-91d2-5e6f7a8b9c0d"
},
{ "id": 84, "name": "High-Sensitivity C-Reactive Protein (hs-CRP)", "price_cents": 1166, "retail_cents": 1341, "required_by": [279] },
{ "id": 279, "name": "hs-CRP / HDL Ratio", "price_cents": 0, "retail_cents": 0, "requires": [42, 84] }
]
}
}
{
"containers": [],
"routing": null,
"pricing": null
}
{
"containers": [],
"routing": null,
"pricing": {
"total_cents": 11900,
"retail_total_cents": 14900,
"fees": {
"phlebotomy_fee_cents": 2500,
"snack_fee_cents": 500,
"logistics_fee_cents": 2000,
"material_fee_cents": 250
},
"total_with_fees_cents": 17150,
"positions": [],
"panels": [
{
"id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"name": "Hormones (Female)",
"price_cents": 11900,
"retail_cents": 14900
}
],
"biomarkers": [{ "id": 555, "name": "Poppy Seeds (Pap s)", "price_cents": null, "retail_cents": null }]
}
}
{
"error": "Appointment not found"
}
⌘I
curl --request GET \
--url https://anivahealth.com/api/v1/appointments/c9f3e2a1-7d6b-4c5e-b3a2-1f0e9d8c7b6a/preview \
--header 'x-api-key: YOUR_API_KEY'
{
"containers": [
{
"type": "serum",
"name": "Serum",
"cap_color": "#A0784B",
"volume": "7.5 ml",
"article_number": "01.1602.001",
"count": 3
},
{
"type": "edta",
"name": "EDTA",
"cap_color": "#D13438",
"volume": "3.4 ml",
"article_number": "04.1914.001",
"count": 2
},
{
"type": "glucoexact",
"name": "GlucoEXACT",
"cap_color": "#9E9E9E",
"volume": "3.1 ml",
"article_number": "05.1074.001",
"count": 1
}
],
"routing": null,
"pricing": {
"total_cents": 13751,
"retail_total_cents": 17029,
"fees": {
"phlebotomy_fee_cents": 2500,
"snack_fee_cents": 500,
"logistics_fee_cents": 2000,
"material_fee_cents": 250
},
"total_with_fees_cents": 19001,
"positions": [
{
"id": "b7d4c2e1-9a3f-4c8b-91d2-5e6f7a8b9c0d",
"name": "Aniva Blood Count",
"price_cents": 452,
"retail_cents": 520,
"tier": "routine"
}
],
"panels": [
{
"id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"name": "Hormones (Female)",
"price_cents": 11900,
"retail_cents": 14900
}
],
"biomarkers": [
{ "id": 42, "name": "HDL Cholesterol", "price_cents": 233, "retail_cents": 268, "required_by": [279] },
{
"id": 71,
"name": "Hemoglobin",
"price_cents": 0,
"retail_cents": 0,
"via_position": "b7d4c2e1-9a3f-4c8b-91d2-5e6f7a8b9c0d"
},
{ "id": 84, "name": "High-Sensitivity C-Reactive Protein (hs-CRP)", "price_cents": 1166, "retail_cents": 1341, "required_by": [279] },
{ "id": 279, "name": "hs-CRP / HDL Ratio", "price_cents": 0, "retail_cents": 0, "requires": [42, 84] }
]
}
}
{
"containers": [],
"routing": null,
"pricing": null
}
{
"containers": [],
"routing": null,
"pricing": {
"total_cents": 11900,
"retail_total_cents": 14900,
"fees": {
"phlebotomy_fee_cents": 2500,
"snack_fee_cents": 500,
"logistics_fee_cents": 2000,
"material_fee_cents": 250
},
"total_with_fees_cents": 17150,
"positions": [],
"panels": [
{
"id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"name": "Hormones (Female)",
"price_cents": 11900,
"retail_cents": 14900
}
],
"biomarkers": [{ "id": 555, "name": "Poppy Seeds (Pap s)", "price_cents": null, "retail_cents": null }]
}
}
{
"error": "Appointment not found"
}