/api/v1/availabilityDepartures in a date window, with seats that already account for confirmed bookings, pending bookings and seats held in someone else's checkout — the same numbers the storefront calendar shows. The window may not exceed 92 days. Requires the "availability:read" scope.
Query parameters#
| Field | Type | Description |
|---|---|---|
experience_id | stringuuid | Only departures for this experience (UUID). Omit to get every experience. |
fromrequired | string | First date in the window (YYYY-MM-DD), inclusive. |
to | string | Last date in the window (YYYY-MM-DD), inclusive. Defaults to 30 days after "from". The window may not exceed 92 days. |
Example request#
bash
curl -X GET "https://your-site.awrora.app/api/v1/availability" \
-H "Authorization: Bearer $AWRORA_API_KEY"Responses#
200The departures in the window. This endpoint is not paginated: has_more is always false.400Invalid request — codes "validation_failed" or, on an endpoint that requires one, "idempotency_key_required".401Missing, invalid, revoked or expired API key — codes "api_key_missing", "api_key_invalid", "api_key_revoked", "api_key_expired".403The API app is off, the plan does not include the API, or the key lacks the required scope — codes "app_not_enabled", "plan_upgrade_required", "insufficient_scope" (the last carries "required_scope").422The request was understood but cannot be fulfilled as asked — codes "validation_failed" or "idempotency_key_reused" (the same Idempotency-Key was already used with a different body).429Rate limit exceeded — code "rate_limited". See the x-ratelimit-* headers.500Something went wrong on our side — code "internal_error".
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object[] | The page of results, in the requested order. |
has_morerequired | boolean | True when more results exist after this page. Fetch them with next_cursor. |
next_cursorrequired | string | null | Pass this back as ?starting_after= to fetch the next page. Null when has_more is false. Opaque — do not parse it. |
200 response
{
"data": [
{
"id": "res_8f2k3n",
"experience_id": "experience_8f2k3n",
"starts_at": "string",
"ends_at": "string",
"seats_total": -9007199254740991,
"seats_available": -9007199254740991,
"price": {
"amount_minor": -9007199254740991,
"currency": "SEK"
},
"booking_closes_at": "string",
"status": "open"
}
],
"has_more": true,
"next_cursor": "string"
}