Panels
List Panels
Browse the panel catalog
GET
/
api
/
v1
/
panels
curl --url 'https://anivahealth.com/api/v1/panels?test_location_id=0d242e5a-5e00-48d5-935e-a35f71a7a757' \
--header 'x-api-key: YOUR_API_KEY'
[
{
"id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"name": "Hormones (Female)",
"biomarker_ids": [42, 43, 44, 51, 52],
"pricing": { "price_cents": 11900, "retail_cents": 14900 }
},
{
"id": "9c1d2e3f-4a5b-4c7d-8e9f-0a1b2c3d4e5f",
"name": "Custom",
"biomarker_ids": [],
"pricing": { "price_cents": null, "retail_cents": null }
}
]
Returns the catalog of panels your API key can attach to appointments via Add Panels. Panels are filtered by the panel groups your key has access to.
Requires the
panels_access scope. The pricing object also requires the prices_view scope.
Each panel includes the IDs of its biomarkers — cross-reference against List Biomarkers for biomarker details (name, unit, category, etc.).
biomarker_ids is a superset of what a draw returns. A panel is curated as groups of
interchangeable biomarkers — hs-CRP and CRP both appear, only one is measured. The list holds the
members of the panel’s required groups only. A panel listing 120 IDs typically delivers around 90
results. List Panels (v2) returns the groups themselves; this
endpoint keeps the flat union and is not deprecated.Custom container panels return an empty
biomarker_ids list. Their biomarker membership lives
per-appointment — use Add Individual Biomarkers to
attach individual biomarkers rather than panels.Request
Query parameters
string
Location ID (UUID). Aniva only checks that the location exists and returns
404 when it does
not. Pricing is location-independent, so this parameter does not change the response.string
Override which rate card
price_cents uses: retail, or the id of a rate card your key may use. Get Rate Card returns that id. Defaults to the card on your API key’s billing account, else retail.
retail_cents is always the retail card.Response
Returns an array of panels.string
Stable panel identifier (UUID) — pass this to Add Panels.
string
Display name.
number[]
IDs of biomarkers belonging to this panel. Empty for custom container panels. Cross-reference
against List Biomarkers.
object | null
What this panel costs on your card, with
retail_cents beside it — see price
objects. Location-independent. null only
when your key lacks the prices_view scope. A panel without a rate-card or catalog price costs
the sum of its biomarkers at your card’s rates, which is what the monthly invoice bills. A panel
with no priced biomarker (e.g. the custom container) carries price_cents: null.Error responses
| Status | Description |
|---|---|
400 | Validation error — e.g. unknown/unauthorised rate_card. |
403 | Forbidden — missing panels_access scope. |
404 | test_location_id not found. |
500 | Internal server error. |
curl --url 'https://anivahealth.com/api/v1/panels?test_location_id=0d242e5a-5e00-48d5-935e-a35f71a7a757' \
--header 'x-api-key: YOUR_API_KEY'
[
{
"id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"name": "Hormones (Female)",
"biomarker_ids": [42, 43, 44, 51, 52],
"pricing": { "price_cents": 11900, "retail_cents": 14900 }
},
{
"id": "9c1d2e3f-4a5b-4c7d-8e9f-0a1b2c3d4e5f",
"name": "Custom",
"biomarker_ids": [],
"pricing": { "price_cents": null, "retail_cents": null }
}
]
⌘I
curl --url 'https://anivahealth.com/api/v1/panels?test_location_id=0d242e5a-5e00-48d5-935e-a35f71a7a757' \
--header 'x-api-key: YOUR_API_KEY'
[
{
"id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"name": "Hormones (Female)",
"biomarker_ids": [42, 43, 44, 51, 52],
"pricing": { "price_cents": 11900, "retail_cents": 14900 }
},
{
"id": "9c1d2e3f-4a5b-4c7d-8e9f-0a1b2c3d4e5f",
"name": "Custom",
"biomarker_ids": [],
"pricing": { "price_cents": null, "retail_cents": null }
}
]