/api/v1/bookingsBookings in the organization, newest first. Requires the "bookings:read" scope.
Query parameters#
| Field | Type | Description |
|---|---|---|
limit | integermin 1 · max 100 · default 25 | How many results to return, 1-100. Defaults to 25. |
order | stringdefault "desc" | Sort by creation time: "desc" (newest first, default) or "asc". "asc""desc" |
starting_after | string≥ 1 chars | The next_cursor from a previous page. Opaque — pass it back verbatim. |
status | string | Only bookings with this status. "pending""confirmed""cancelled" |
experience_id | stringuuid | Only bookings on this experience (UUID). |
departure_from | string | Only bookings whose departure is on or after this date (YYYY-MM-DD). The window to "departure_to" may not exceed 92 days; when "departure_to" is omitted it defaults to 92 days after this date. |
departure_to | string | Only bookings whose departure is on or before this date (YYYY-MM-DD). When "departure_from" is omitted it defaults to 92 days before this date. The window may not exceed 92 days. |
updated_since | string | Only bookings changed at or after this ISO 8601 timestamp. |
Example request#
bash
curl -X GET "https://your-site.awrora.app/api/v1/bookings" \
-H "Authorization: Bearer $AWRORA_API_KEY"Responses#
200A page of bookings.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").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",
"booking_number": -9007199254740991,
"status": "pending",
"source": "string",
"created_at": "string",
"updated_at": "string",
"experience": {
"id": "res_8f2k3n",
"title": "string",
"slug": "string"
},
"departure": {
"id": "res_8f2k3n",
"starts_at": "string",
"ends_at": "string"
},
"customer": {
"name": "string",
"email": "anna@example.com",
"phone": "string"
},
"guests": [
{
"tier_id": "tier_8f2k3n",
"tier_label": "string",
"count": -9007199254740991,
"unit_price": {
"amount_minor": null,
"currency": null
}
}
],
"add_ons": [
{
"id": "res_8f2k3n",
"label": "string",
"count": -9007199254740991,
"unit_price": {
"amount_minor": null,
"currency": null
}
}
],
"totals": {
"subtotal": {
"amount_minor": -9007199254740991,
"currency": "SEK"
},
"discount": {
"amount_minor": -9007199254740991,
"currency": "SEK"
},
"gift_card": {
"amount_minor": -9007199254740991,
"currency": "SEK"
},
"total": {
"amount_minor": -9007199254740991,
"currency": "SEK"
}
},
"payment": {
"method": "string",
"source": "stripe",
"status": "paid"
},
"note": "string",
"manage_url": "https://example.com/webhooks/awrora"
}
],
"has_more": true,
"next_cursor": "string"
}