Skip to main content
GET
The same catalog as List Panels, describing each panel as the groups it requires rather than a flat list of biomarker IDs. A group holds interchangeable biomarkers, and exactly one of them is measured — hs-CRP or CRP, serum or EDTA plasma. Which one is decided per draw by lab routing. So v1’s flat biomarker_ids over-states what a draw returns: a panel listing 120 IDs delivers around 90 results.
Count groups, not biomarker IDs, when telling a patient what they get — and read required first. An optional group is ordered only when a routing Aniva is already paying for can carry it, so it may never be delivered.
v1 is not deprecated and keeps serving the flat union of every group’s members.

Request

Query parameters

string
Override which rate card the yours price uses: retail, subscription, or a billing-account slug your key may use. Defaults to the card on your API key’s billing account, else retail.
test_location_id is not accepted here. v1 only validated that it existed — panel pricing is location-independent.

Response

Returns an array of panels.
string
Stable panel identifier (UUID) — pass this to Add Panels.
string
Display name.
object[]
What the panel requires. Empty for custom container panels — their membership lives per-appointment, so use Add Individual Biomarkers.
object | null
Per-panel pricing — null unless your key has the prices_view scope, or for panels without a fixed catalog price (e.g. the custom container). Carries retail and yours, each a price breakdown (a single group, no goa_lines) or null.

Error responses