Home Kit Orders
List Home Kit Orders
Retrieve DIY mail-home test kits accessible to your API key
GET
/
api
/
v1
/
home-kit-orders
curl --request GET \
--url https://anivahealth.com/api/v1/home-kit-orders \
--header 'x-api-key: YOUR_API_KEY'
curl --request GET \
--url 'https://anivahealth.com/api/v1/home-kit-orders?profile_id=a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d' \
--header 'x-api-key: YOUR_API_KEY'
[
{
"id": "d1e2f3a4-5b6c-4d7e-8f9a-0b1c2d3e4f5a",
"profile_id": "a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d",
"status": "dispatched",
"delivery_address": {
"name": "Maria Schmidt",
"street": "Friedrichstraße",
"house_number": "123",
"postal_code": "10117",
"city": "Berlin",
"country_code": "DE",
"phone": "+4930123456789",
"email": "maria.schmidt@example.com"
},
"created_at": "2026-04-01T09:45:00Z",
"updated_at": "2026-04-02T08:00:00Z",
"profile": {
"id": "a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d",
"handle": null,
"first_name": "Maria",
"last_name": "Schmidt",
"email": "maria.schmidt@example.com",
"phone": "+4930123456789",
"sex": 2,
"date_of_birth": "1985-03-22",
"height": 168,
"weight": 65,
"language": "de",
"transactional_emails_enabled": true,
"created_at": "2026-04-01T09:14:32Z",
"updated_at": null
},
"panels": [
{
"panel_id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"added_at": "2026-04-01T09:50:00Z"
}
],
"individual_biomarkers": [
{
"biomarker_id": 42,
"added_at": "2026-04-01T09:52:00Z"
}
],
"metadata": {},
"replaces_home_kit_order_id": null,
"replacement_reason": null,
"results_ready_emails": [],
"lab_code": "7642000123",
"activated_at": null,
"shipments": [
{ "id": "K2604021FQ7", "added_at": "2026-04-02T08:00:00Z" },
{ "id": "K260402P3XD", "added_at": "2026-04-02T08:00:00Z" }
]
}
]
{
"error": "Access denied: profile is outside your permission scope"
}
Retrieve a list of home kit orders. A home kit order sends a DIY mail-home test kit — Aniva ships the kit, the patient self-collects a sample at home and mails it back. Each home kit order includes the embedded patient profile.
When
profile_id is provided, returns all home kit orders for that profile. When omitted, returns all accessible home kit orders.
Requires the home_kit_orders_view or home_kit_orders_manage scope.
Request
Query parameters
string
Filter by profile UUID. When provided, all home kit orders for this profile are returned.
string
Filter by lab code (exact match) — resolve a physical kit in hand back to its order by the code
printed on it, e.g. before calling Activate.
Response
On success, the API returns200 OK with an array of home kit order objects.
string
required
Unique home kit order identifier (UUID).
string
required
UUID of the profile this home kit order belongs to.
string
required
Current home kit order status. One of
pending, dispatched, activated, or cancelled.
Lab-result completion granularity is derived from Get Results.object
required
The address to mail the kit to — one of two shapes: either
{ location_id } referencing a known test location, or the inline address fields (name, street, city, postal_code, country_code; company_name / house_number / address_line_2 / state / phone / email optional — the same vocabulary as the locations API). Provide exactly one — a location reference or an inline address, not both.Show delivery address
Show delivery address
- Location reference
- Inline address
string
required
UUID of the test location the kit ships to.
string
required
Recipient, company, or location name.
string
Company holding the parcel for the recipient — a
c/o party or a department.string
required
Street name, without the house number (e.g.
Wilhelmstraße).string
House number (e.g.
118 or 12a).string
Building, entrance, or floor.
string
required
string
State or province. Optional.
string
required
string
required
ISO 3166-1 alpha-2 code (two letters, e.g.
DE).string
string
string
Laboratory sample code the results report under — printed on the physical kit, and what the
patient reads off the box as the activation code.
null until the kit is packed.
Read-only.string
required
Collection timestamp reported via Activate — when the
patient collected their sample.
null until the kit is activated.string
The home kit order this one replaces, when it is a replacement kit.
null on a normal order. See
Create Home Kit Order.string
Why the replacement was sent.
null on a normal order.string[]
required
Addresses that each get one email once every lab result is final, lowercased. Empty when off. See
Results-ready emails.
object
required
Partner-defined key/value pairs, echoed back verbatim. Always present —
{} when unset.string
required
ISO 8601 timestamp of when the home kit order was created.
string
ISO 8601 timestamp of the last update. May be
null.object
required
The patient profile associated with this home kit order.
Show profile
Show profile
string
Unique profile identifier (UUID).
string
Profile handle or username. May be
null.string
First name. May be
null.string
Last name. May be
null.string
Email address. May be
null.string
Phone number in E.164 format. May be
null.integer
Biological sex per ISO/IEC 5218. May be
null.string
Date of birth in
YYYY-MM-DD format. May be null.number
Height in centimeters. May be
null.number
Weight in kilograms. May be
null.string
Preferred language (
en, de, or fi).boolean
Whether this profile receives transactional (programmatic) emails. May be
null.string
ISO 8601 timestamp of when the profile was created.
string
ISO 8601 timestamp of the last profile update. May be
null.HomeKitOrderPanel[]
required
The panel attached to this home kit order — always exactly one (a home kit maps 1:1 onto a
physical kit product), swappable via Update while
pending. Look up panel details (name, biomarkers) via List Panels.Show Panel attachment fields
Show Panel attachment fields
string
Panel UUID — cross-reference against List Panels.
string
ISO 8601 timestamp the panel was first attached to this home kit order.
HomeKitOrderIndividualBiomarker[]
required
À-la-carte biomarkers attached to this home kit order outside any panel. Cross-reference each
biomarker_id against List Biomarkers with home_kit=true for display data.Show Individual biomarker fields
Show Individual biomarker fields
integer
Biomarker identifier — cross-reference against
List Biomarkers with
home_kit=true.string
ISO 8601 timestamp the biomarker was first attached to this home kit order.
HomeKitOrderShipmentLink[]
required
Parcels linked to this home kit order, oldest-link first — normally the kit to the patient
and the sample back to the laboratory. Empty until fulfilment prints a label. Read the
full parcels with List Shipments and
?home_kit_order_id=.Show Shipment link fields
Show Shipment link fields
string
Shipment reference — cross-reference against Get Shipment.
string
ISO 8601 timestamp the shipment was linked to this home kit order.
Error responses
| Status | Description |
|---|---|
400 | Validation error — for example, profile_id is not a valid UUID, or the query has an unknown parameter. |
403 | Forbidden — your API key does not have access to this operation, or the requested profile is outside your permission scope. |
500 | Internal server error. |
curl --request GET \
--url https://anivahealth.com/api/v1/home-kit-orders \
--header 'x-api-key: YOUR_API_KEY'
curl --request GET \
--url 'https://anivahealth.com/api/v1/home-kit-orders?profile_id=a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d' \
--header 'x-api-key: YOUR_API_KEY'
[
{
"id": "d1e2f3a4-5b6c-4d7e-8f9a-0b1c2d3e4f5a",
"profile_id": "a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d",
"status": "dispatched",
"delivery_address": {
"name": "Maria Schmidt",
"street": "Friedrichstraße",
"house_number": "123",
"postal_code": "10117",
"city": "Berlin",
"country_code": "DE",
"phone": "+4930123456789",
"email": "maria.schmidt@example.com"
},
"created_at": "2026-04-01T09:45:00Z",
"updated_at": "2026-04-02T08:00:00Z",
"profile": {
"id": "a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d",
"handle": null,
"first_name": "Maria",
"last_name": "Schmidt",
"email": "maria.schmidt@example.com",
"phone": "+4930123456789",
"sex": 2,
"date_of_birth": "1985-03-22",
"height": 168,
"weight": 65,
"language": "de",
"transactional_emails_enabled": true,
"created_at": "2026-04-01T09:14:32Z",
"updated_at": null
},
"panels": [
{
"panel_id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"added_at": "2026-04-01T09:50:00Z"
}
],
"individual_biomarkers": [
{
"biomarker_id": 42,
"added_at": "2026-04-01T09:52:00Z"
}
],
"metadata": {},
"replaces_home_kit_order_id": null,
"replacement_reason": null,
"results_ready_emails": [],
"lab_code": "7642000123",
"activated_at": null,
"shipments": [
{ "id": "K2604021FQ7", "added_at": "2026-04-02T08:00:00Z" },
{ "id": "K260402P3XD", "added_at": "2026-04-02T08:00:00Z" }
]
}
]
{
"error": "Access denied: profile is outside your permission scope"
}
⌘I
curl --request GET \
--url https://anivahealth.com/api/v1/home-kit-orders \
--header 'x-api-key: YOUR_API_KEY'
curl --request GET \
--url 'https://anivahealth.com/api/v1/home-kit-orders?profile_id=a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d' \
--header 'x-api-key: YOUR_API_KEY'
[
{
"id": "d1e2f3a4-5b6c-4d7e-8f9a-0b1c2d3e4f5a",
"profile_id": "a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d",
"status": "dispatched",
"delivery_address": {
"name": "Maria Schmidt",
"street": "Friedrichstraße",
"house_number": "123",
"postal_code": "10117",
"city": "Berlin",
"country_code": "DE",
"phone": "+4930123456789",
"email": "maria.schmidt@example.com"
},
"created_at": "2026-04-01T09:45:00Z",
"updated_at": "2026-04-02T08:00:00Z",
"profile": {
"id": "a3f1c2d4-8b7e-4f2a-9c1d-2e3f4a5b6c7d",
"handle": null,
"first_name": "Maria",
"last_name": "Schmidt",
"email": "maria.schmidt@example.com",
"phone": "+4930123456789",
"sex": 2,
"date_of_birth": "1985-03-22",
"height": 168,
"weight": 65,
"language": "de",
"transactional_emails_enabled": true,
"created_at": "2026-04-01T09:14:32Z",
"updated_at": null
},
"panels": [
{
"panel_id": "f1c2d4a3-7b8e-4f2a-9c1d-2e3f4a5b6c7d",
"added_at": "2026-04-01T09:50:00Z"
}
],
"individual_biomarkers": [
{
"biomarker_id": 42,
"added_at": "2026-04-01T09:52:00Z"
}
],
"metadata": {},
"replaces_home_kit_order_id": null,
"replacement_reason": null,
"results_ready_emails": [],
"lab_code": "7642000123",
"activated_at": null,
"shipments": [
{ "id": "K2604021FQ7", "added_at": "2026-04-02T08:00:00Z" },
{ "id": "K260402P3XD", "added_at": "2026-04-02T08:00:00Z" }
]
}
]
{
"error": "Access denied: profile is outside your permission scope"
}