Alladdin

Work in progress

Site en construction

الموقع قيد الإنشاء

Alladdin
GET

List all bookings

Scope: crm:booking-services.read https://api.alladdin.com/api/v2/bookings

Returns a paginated list of bookings for your account.
Results are cursor-paginated: the response includes a cursor value and a has_more boolean. Default page size is 50, configurable up to 200 with limit.
You can filter by date range and service.
To query bookings for a single day pass the same date for both start_date and end_date (e.g. start_date=2024-01-15&end_date=2024-01-15). A date-only value for end_date automatically includes the full day up to 23:59:59.
When items is an empty array and has_more is false, there are no bookings matching the given criteria — this is a definitive result, do not retry with different parameters.

Parameters

Query parameters

start_date string<date-time> optional

Filter bookings starting from this date. Accepts ISO 8601 datetime (e.g. 2024-01-01T00:00:00+00:00) or date only (e.g. 2024-01-01)

end_date string<date-time> optional

Filter bookings up to this date (inclusive). Accepts ISO 8601 datetime (e.g. 2024-12-31T23:59:59+00:00) or date only (e.g. 2024-12-31). A date-only value includes the full day up to 23:59:59.

service_id string optional

Filter by service identifier

sort_field string optional

Field to sort by

"start_time" "created_at" sort_order string optional

Sort direction

"asc" "desc" cursor string optional

Opaque cursor for pagination

limit integer optional = 50

Number of items per page

Request

python
import requests

url = "https://api.alladdin.com/api/v2/bookings?start_date=2024-01-01T00:00:00+00:00&end_date=2024-12-31T23:59:59+00:00&service_id=value"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}

response = requests.get(url, headers=headers)
print(response.json())

Responses

Response

json
{
  "items": [
    {
      "id": "507f1f77bcf86cd799439011",
      "start_time": "2024-01-15T10:30:00+00:00",
      "end_time": "2024-01-15T11:30:00+00:00",
      "duration": 3600,
      "created_at": "2024-01-15T10:30:00+00:00",
      "updated_at": "2024-01-15T10:30:00Z",
      "status": "confirmed",
      "service": {
        "id": "507f1f77bcf86cd799439011",
        "name": "string",
        "description": "string",
        "duration": 3600,
        "subtotal": {
          "amount": "...",
          "currency": "..."
        },
        "total": {
          "amount": "...",
          "currency": "..."
        }
      },
      "space": {
        "id": "507f1f77bcf86cd799439011",
        "name": "string"
      },
      "outcome": {
        "document_id": "string",
        "type": "string",
        "exported_at": "2024-01-15T10:30:00Z"
      },
      "custom_fields": [
        {
          "key": "...",
          "label": "...",
          "type": "...",
          "value": "..."
        }
      ]
    }
  ],
  "cursor": "string",
  "has_more": false
}

Success responses

200 List of all bookings application/json object items[] object[] id string

Unique identifier of the booking

start_time string<date-time>

Start time in ISO 8601 format

end_time string<date-time>

End time in ISO 8601 format

duration integer

Duration in seconds

created_at string<date-time>

Creation timestamp in ISO 8601 format

updated_at string<date-time> | null

Last update timestamp in ISO 8601 format

status string

Booking status

Enum: confirmed cancelled service object

Service associated with this booking

space object

Space where the booking takes place

outcome object | null

Exported document linked to this booking

custom_fields[] object[]

Custom field values associated with the booking

cursor string | null has_more boolean

Error responses

401 Invalid or missing API key application/json 403 Insufficient permissions application/json 429 Rate limit exceeded application/json

← PreviousUpdate a booking →

Next →List all booking locations →