Skip to main content
A location is a physical test center where blood draws are performed by healthcare professionals. You use a location’s id to schedule practitioner appointments.
Your API key only returns locations within your partner access context. Use GET /api/v1/locations to list all locations available to you.
A location.* webhook tells you when a location appears, changes or goes away.

Fields

string
required
UUID for the location. Pass this as location_id when creating an appointment.
string
required
Display name for the location.
string
Clinic or company operating the location. May be null.
string
Street name, without the house number. May be null.
string
House number. May be null.
string
Additional address line — c/o, building, or floor. May be null.
string
City. May be null.
string
State or province (resolved via the city’s linked state). May be null when the city has no linked state.
string
The state’s ISO 3166-2 code without the country prefix (e.g., BW for Baden-Württemberg). May be null.
string
Postal or ZIP code. May be null.
string
Full country name (e.g., Germany). May be null.
string
Two-letter country code per ISO 3166-1 alpha-2 (e.g., DE, US). May be null.
string
IANA timezone identifier for the location (e.g., Europe/Berlin, America/New_York). Use this to display scheduled times in the correct local time. May be null.
number
Latitude of the address in decimal degrees (WGS 84). May be null.
number
Longitude of the address in decimal degrees (WGS 84). May be null.
string
Phone number for the location. May be null.
string
Email address for the location. May be null.
string
Website URL for the location. May be null.
string
Direct link to the location on Google Maps. May be null.
string
URL of a photo of the location. May be null.
object
Weekly opening hours for the location. Each weekday key (monday–sunday) maps to an array of { open, close } time ranges in HH:MM (24h) format. An empty array means the location is closed that day. May be null if hours are not available for the location.
Always use the timezone field to convert scheduled_at datetimes into local time before displaying them to patients or staff.

Availability

The open_hours field above describes the static weekly opening schedule. To render real bookable slots — and avoid double-booking against existing Aniva sessions — call Get Availability for the location and pass it the date window you want to display. That endpoint is the right source of truth for any booking UI: it expands open_hours onto the location’s slot grid, applies per-date exceptions, subtracts already-booked sessions, and applies minimum notice.

Retail prices

A pharmacy sets its own price for each panel, and for each single biomarker, it sells to walk-in customers. You see a price only after the pharmacy publishes it. List Retail Prices returns them for every location you can read, and Get Retail Prices returns them for one location. Both need the retail_prices_view scope; locations_view does not include them. Ask for both scopes on the same locations. A location.retail_prices.updated webhook tells you when a price changes. location.created and location.deactivated tell you when a location appears or goes. A change to which panels a location offers can reach you later than a price change, so read List Retail Prices again once a day.

Example location