Locations
Get Availability
Retrieve bookable slot starts for a single location
GET
Returns the bookable slot starts for a single location across the requested window. Slots are
generated from the location’s
open_hours, with global / per-location blocked dates skipped and
already-booked Aniva test sessions subtracted, so the result reflects what your partners can
actually reserve client-side.
Requires the test_sessions_schedule scope. The location must also fall within your API key’s location-group access context.
Use this endpoint instead of inferring availability from the static
open_hours returned by List
Locations — only this endpoint accounts for live bookings and
provider-side schedule changes.Responses are returned with
Cache-Control: private, max-age=30, stale-while-revalidate=60, so
the browser may serve a cached payload for up to ~30 seconds. A slot booked inside that window can
still appear bookable until the next refresh — surface conflicts at booking time as well.Path parameters
string
required
Location identifier (UUID). Use the
id from List Locations.Query parameters
string
Inclusive start of the window in
YYYY-MM-DD (interpreted in timezone). Optional. Defaults to
today when neither date is supplied, or to end_date − 30 days when only end_date is
supplied. Past dates are silently clamped to today.string
Inclusive end of the window in
YYYY-MM-DD (interpreted in timezone). Optional. Defaults to
today + 30 days when neither date is supplied, or to start_date + 30 days when only
start_date is supplied. Must be on or after start_date and within 90 days of today.string
IANA timezone (e.g.
Europe/Berlin) used to interpret start_date / end_date and to group
slots by calendar date. Optional — defaults to the location’s own timezone. Slot start times
themselves are always rendered as UTC instants (Z); the timezone only affects which calendar day
a slot is grouped under.Response
On success, the API returns200 OK with a single availability object.
string
required
Echoed location identifier.
string
IANA timezone used to render the response (e.g.,
Europe/Berlin) — echoes the timezone query
param when supplied, otherwise the location’s timezone. May be null if unknown.integer
Spacing between consecutive bookable slot starts in minutes. The location-configured grid step —
every slot in
availability falls on this grid. null only when the location has no scheduling
configuration. Not a session-duration window: overlapping bookings at different starts do not
conflict; only exact-start collisions count toward concurrency.array
required
Per-day bookable slots. Days with zero bookable slots are omitted to keep the payload tight.
Each entry has: