---
title: "Find scheduling availability"
description: "Find available slots for one offering, earliest first, a page at a time: follow pageInfo.nextCursor for later ones. The returned slotToken is required to create the appointment.\n\n- **Scopes:** any one of `agenda:bookings:read`, `agenda:bookings:write`\n- **Credentials:** an API key, a client-credentials token or a person's access token\n- **Effect:** read-only; safe to retry\n- **Limits:** response up to 8 MB\n- **CLI:** `arbol agenda booking-slots list` · **MCP tool:** `agenda_booking_slots_list`"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.getarbol.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Agenda API › Booking slots

`GET /v1/agenda/booking-slots`

Find available slots for one offering, earliest first, a page at a time: follow pageInfo.nextCursor for later ones. The returned slotToken is required to create the appointment.

- **Scopes:** any one of `agenda:bookings:read`, `agenda:bookings:write`
- **Credentials:** an API key, a client-credentials token or a person's access token
- **Effect:** read-only; safe to retry
- **Limits:** response up to 8 MB
- **CLI:** `arbol agenda booking-slots list` · **MCP tool:** `agenda_booking_slots_list`

## Authentication

Requires one of the following:

- `arbolHuman`, oauth2, scopes: `agenda:bookings:read`
- `arbolHuman`, oauth2, scopes: `agenda:bookings:write`
- `arbolMachine`, oauth2, scopes: `agenda:bookings:read`
- `arbolMachine`, oauth2, scopes: `agenda:bookings:write`
- `arbolApiKey`, http, header `Authorization`

## Query parameters

- `from` (`agenda.bookingSlots.list.query.from`; string, required) — Inclusive beginning of the requested instant range.
  - format `date-time`
- `offeringId` (`agenda.bookingSlots.list.query.offeringId`; string, required) — Required service offering whose available signed slots are searched within the requested interval.
  - pattern `^off_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`
- `timezone` (`agenda.bookingSlots.list.query.timezone`; string, required) — IANA timezone used to interpret local dates and agenda working hours.
- `to` (`agenda.bookingSlots.list.query.to`; string, required) — Exclusive end of the requested instant range.
  - format `date-time`
- `cursor` (`agenda.bookingSlots.list.query.cursor`; string, optional) — Opaque cursor returned by pageInfo; omit it to request the first page.
- `direction` (`agenda.bookingSlots.list.query.direction`; string, optional) — Direction to traverse the stable keyset ordering from the supplied cursor.
  - one of `"forward"`, `"backward"`; default `"forward"`
- `limit` (`agenda.bookingSlots.list.query.limit`; integer, optional) — Maximum items returned in one page. Defaults to 25; larger reads require another cursor.
  - min 1; max 100; default `25`
- `excludeAppointmentId` (`agenda.bookingSlots.list.query.excludeAppointmentId`; string, optional) — Exclude allocations belonging to this appointment while evaluating a proposed reschedule.
  - pattern `^eng_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`
- `preferredResourceIds` (`agenda.bookingSlots.list.query.preferredResourceIds`; array<string>, optional) — Preferred agendas considered first while satisfying the offering resource requirements.
  - default `[]`
- `channel` (`agenda.bookingSlots.list.query.channel`; string, optional) — The conversation's channel, set by the platform. It changes nothing in Agenda; omit it.
  - one of `"voice"`, `"whatsapp"`, `"web"`
- `connectionId` (`agenda.bookingSlots.list.query.connectionId`; string, optional) — The platform's id for the organization's Agenda, set by the platform. An organization has one Agenda, so it selects nothing; omit it.
  - minLength 1; maxLength 128; pattern `^[\w-]+$`

## Code samples

### cURL

```bash
curl "https://api.getarbol.com/v1/agenda/booking-slots?from=2026-11-17T14%3A00%3A00Z&offeringId=<offeringId>&timezone=<timezone>&to=2026-11-17T14%3A00%3A00Z" \
  --header "Authorization: Bearer $ARBOL_API_KEY"
```

### TypeScript

```typescript
import { createClient } from "@arbol-ai/sdk";

const arbol = createClient({
  baseUrl: "https://api.getarbol.com",
  token: process.env.ARBOL_API_KEY!,
});

const { data } = await arbol.agenda.bookingSlots.list({
  from: Temporal.Instant.from("2026-11-17T14:00:00Z"),
  offeringId: "<offeringId>",
  timezone: "<timezone>",
  to: Temporal.Instant.from("2026-11-17T14:00:00Z"),
});
```

### Rust

```rust
use arbol_sdk::{types, Client, Credential};

let arbol = Client::new(Credential::ApiKey(std::env::var("ARBOL_API_KEY")?))?;

let data = arbol
    .agenda()
    .booking_slots()
    .list(&types::AgendaBookingSlotsListInput {
        from: "2026-11-17T14:00:00Z".into(),
        offering_id: "<offeringId>".into(),
        timezone: "<timezone>".into(),
        to: "2026-11-17T14:00:00Z".into(),
        cursor: None,
        direction: None,
        limit: None,
        exclude_appointment_id: None,
        preferred_resource_ids: None,
        channel: None,
        connection_id: None,
    })
    .await?;
```

### CLI

```bash
arbol agenda booking-slots list --from 2026-11-17T14:00:00Z --offering-id '<offeringId>' --timezone '<timezone>' --to 2026-11-17T14:00:00Z
```

### MCP

```json
{
  "name": "agenda_booking_slots_list",
  "arguments": {
    "from": "2026-11-17T14:00:00Z",
    "offeringId": "<offeringId>",
    "timezone": "<timezone>",
    "to": "2026-11-17T14:00:00Z"
  }
}
```

## Responses

### 200

Successful operation.

#### Example

```json
{
  "success": true,
  "data": {
    "data": [
      {
        "endsAt": "2019-08-24T14:15:22Z",
        "object": "scheduling.slot",
        "offeringId": "string",
        "resourceIds": [
          "string"
        ],
        "slotToken": "stringstringstringst",
        "startsAt": "2019-08-24T14:15:22Z",
        "timezone": "string"
      }
    ],
    "object": "list",
    "pageInfo": {
      "hasNextPage": true,
      "hasPreviousPage": true,
      "nextCursor": "string",
      "previousCursor": "string"
    }
  },
  "error": null,
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`agenda.bookingSlots.list.response.200.success`; boolean, required)
- `data` (`agenda.bookingSlots.list.response.200.data`; object, required)
  - `data` (`agenda.bookingSlots.list.response.200.data.data`; array<object>, required) — Items admitted by this resource contract within the verified organization.
    - `endsAt` (`agenda.bookingSlots.list.response.200.data.data.endsAt`; string, required) — Exclusive end of the visible appointment or slot, before allocation buffers are added.
      - format `date-time`
    - `object` (`agenda.bookingSlots.list.response.200.data.data.object`; string, required) — scheduling.slot identifies this signed available slot.
    - `offeringId` (`agenda.bookingSlots.list.response.200.data.data.offeringId`; string, required) — Required service offering whose schedule and capacity produced this signed slot.
      - pattern `^off_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`
    - `resourceIds` (`agenda.bookingSlots.list.response.200.data.data.resourceIds`; array<string>, required) — Agendas assigned to the appointment or slot, including required professionals, rooms and equipment.
      - pattern `^srs_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`
    - `slotToken` (`agenda.bookingSlots.list.response.200.data.data.slotToken`; string, required) — Opaque signed token for one exact available slot. Use the returned token unchanged after the patient confirms that time.
      - minLength 20
    - `startsAt` (`agenda.bookingSlots.list.response.200.data.data.startsAt`; string, required) — Visible appointment or slot start instant, including an explicit timezone offset.
      - format `date-time`
    - `timezone` (`agenda.bookingSlots.list.response.200.data.data.timezone`; string, required) — IANA timezone used to interpret local dates and agenda working hours.
      - minLength 1; maxLength 120
  - `object` (`agenda.bookingSlots.list.response.200.data.object`; string, required) — Discriminator for a resource list response.
  - `pageInfo` (`agenda.bookingSlots.list.response.200.data.pageInfo`; object, required) — Opaque navigation cursors for this page’s stable keyset order.
    - `hasNextPage` (`agenda.bookingSlots.list.response.200.data.pageInfo.hasNextPage`; boolean, required) — Whether a later page exists in the current ordering.
    - `hasPreviousPage` (`agenda.bookingSlots.list.response.200.data.pageInfo.hasPreviousPage`; boolean, required) — Whether an earlier page exists in the current ordering.
    - `nextCursor` (`agenda.bookingSlots.list.response.200.data.pageInfo.nextCursor`; string | null, required) — Opaque cursor for the next page, or null when there is none.
    - `previousCursor` (`agenda.bookingSlots.list.response.200.data.pageInfo.previousCursor`; string | null, required) — Opaque cursor for the previous page, or null when there is none.
- `error` (`agenda.bookingSlots.list.response.200.error`; null, required)
- `metadata` (`agenda.bookingSlots.list.response.200.metadata`; object, required)
  - `requestId` (`agenda.bookingSlots.list.response.200.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 400

- `INVALID_INPUT`: The request does not match the published schema.
- `INVALID_APPOINTMENT_INTAKE`: Correct the indicated patient or intake fields before booking.
- `INVALID_PATIENT_FIELDS`: Correct the indicated patient fields before saving.
- `DURATION_CHANGE_OFF`: This service does not allow changing appointment duration.
- `DURATION_NOT_ALLOWED`: Select a duration allowed by this service.
- `STUDY_LENGTH_NOT_OFFERED`: Select one of the study lengths this agenda offers.
- `INVALID_FILE_KIND`: Select a supported attachment kind.
- `INVALID_FILE_NAME`: Provide a valid attachment filename.
- `INVALID_ID_TOKEN`: Provide a valid identity token.
- `INVALID_JSON`: Send a valid JSON document.
- `INVALID_WINDOW`: Provide a positive time window within the supported range.
- `UNEXPECTED_QUERY_PARAMETERS`: Remove query parameters not declared by this operation.
- `INVALID_BODY`: The request body could not be read. Send valid uncompressed JSON.

#### Example

```json
{
  "error": {
    "code": "INVALID_INPUT"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.400.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 401

`UNAUTHORIZED`: A valid access token is required.

#### Example

```json
{
  "error": {
    "code": "UNAUTHORIZED"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.401.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 403

- `FORBIDDEN`: The token does not authorize this operation.
- `ID_TOKEN_MISMATCH`: The identity token does not match the authenticated user.
- `NOT_FILE_UPLOADER`: Only the uploader may delete this attachment.
- `NOT_NOTE_AUTHOR`: Only the author may edit or delete this note.
- `ORIGIN_NOT_ALLOWED`: This request origin is not allowed.

#### Example

```json
{
  "error": {
    "code": "FORBIDDEN"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.403.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 404

`NOT_FOUND`: The requested resource does not exist.

#### Example

```json
{
  "error": {
    "code": "NOT_FOUND"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.404.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 405

`HTTP_METHOD_NOT_ALLOWED`: The HTTP method is not supported for this resource.

#### Example

```json
{
  "error": {
    "code": "HTTP_METHOD_NOT_ALLOWED"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.405.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 409

- `PAYER_STAFF_ONLY`: This payer requires booking by the organization team. Add the patient to the waitlist for review.
- `APPOINTMENT_NOT_REMINDABLE`: Only an open future appointment with a patient email can receive a reminder.
- `APPOINTMENT_WITHOUT_PATIENT`: Link a patient to this appointment before performing this action.
- `ARBOL_CATALOG_TOO_LARGE`: The integration catalog exceeds the supported size. Narrow the catalog before retrying.
- `ARBOL_CONFIGURATION_REQUIRED`: Configure the organization integration before using it.
- `NOTIFICATIONS_NOT_SET_UP`: Patient emails need the notifications module turned on.
- `SAME_OFFERING`: An agenda cannot take its own appointments.
- `SAME_SERVICE`: A service cannot be merged into itself.
- `INVALID_HOLD_PAYLOAD`: The held slot is malformed.
- `HOLD_NOT_ACTIVE`: The hold is no longer active.
- `APPOINTMENT_CLOSED`: A cancelled appointment cannot be edited.
- `APPOINTMENT_VERSION_MISMATCH`: The appointment changed after it was loaded.
- `APPOINTMENT_NOT_MOVABLE`: A closed appointment cannot be moved.
- `SERVICE_CHANGED`: The new slot belongs to another service.
- `SCHEDULE_CHANGED`: The selected time no longer matches the current schedule.
- `INVALID_AVAILABILITY_WINDOW`: Availability windows must be positive and at most 31 days.
- `SERVICE_CAPACITY_EXCEEDED`: This service already has as many appointments as it can run at once at that time.
- `RESOURCE_CAPACITY_EXCEEDED`: The selected time is no longer available.
- `OVERBOOK_OUT_OF_RANGE`: An overbooked appointment must start between yesterday and the booking horizon.
- `OVERBOOK_UNAVAILABLE`: No active agenda can take this appointment.
- `STUDY_OVERBOOKING_NOT_ALLOWED`: This study has an explicit capacity limit and requires an available ordinary slot.
- `INVALID_SLOT_TOKEN`: Request a fresh available slot before booking.
- `BIRTH_DATE_REQUIRED`: This service has an age rule: the patient's date of birth is required.
- `AGE_NOT_ELIGIBLE`: The patient's age on that day is outside this service's age rule.
- `INTAKE_SETTINGS_VERSION_MISMATCH`: Intake settings changed; reload before saving.
- `PAYER_NAME_TAKEN`: Another payer already has that name.
- `PAYER_VERSION_MISMATCH`: The payer changed; reload before saving.
- `LOCATION_VERSION_MISMATCH`: The site changed after it was loaded.
- `PROFILE_VERSION_MISMATCH`: The profile changed after it was loaded.
- `PROVIDER_DISABLED`: Enable the provider integration before using it.
- `BINDING_VERSION_MISMATCH`: Connection changed or is synchronizing; refresh and retry.
- `RESOURCE_VERSION_MISMATCH`: The resource changed after it was loaded.
- `SCHEDULE_RULE_AGENDA_MISMATCH`: The schedule rule belongs to another agenda.
- `SCHEDULE_RULE_EXPECTED_VERSION_REQUIRED`: Expected version is required for an update.
- `SCHEDULE_RULE_VERSION_MISMATCH`: The schedule rule changed after it was loaded.
- `SCHEDULE_RULES_CHANGED`: The schedule changed after it was loaded.
- `SERVICE_VERSION_MISMATCH`: The service changed after it was loaded.
- `OFFERING_VERSION_MISMATCH`: The offering changed after it was loaded.
- `SAME_RESOURCE`: An agenda cannot take its own appointments.
- `TARGET_INACTIVE`: An archived agenda takes no appointments.
- `SLOT_REQUIRED`: A hold or slot token is required.
- `ARBOL_SETTINGS_VERSION_MISMATCH`: Arbol settings changed.
- `NOTIFICATION_SETTINGS_VERSION_MISMATCH`: Notification settings changed; reload before saving.
- `ORGANIZATION_VERSION_MISMATCH`: The organization changed; reload before saving.
- `PATIENT_DOCUMENT_TAKEN`: Another patient has that document.
- `PATIENT_VERSION_MISMATCH`: The patient changed after it was loaded.
- `DAILY_REPORT_TOO_LARGE`: Daily report exceeds the supported size; no partial report was generated.
- `REPORT_SETTINGS_VERSION_MISMATCH`: Report settings changed; reload before saving.
- `REPORT_NOTIFICATIONS_DISABLED`: Enable the notifications module before sending a daily agenda.
- `REPORT_RECIPIENTS_REQUIRED`: No eligible organization owner or additional delivery address is available for this agenda.
- `WAITLIST_ENTRY_VERSION_MISMATCH`: The waitlist entry changed; reload before saving.
- `REMOVAL_JOB_CONFLICT`: A removal is already active, or this idempotency key belongs to another decision.
- `FOLLOWUP_SETTINGS_VERSION_MISMATCH`: Follow-up email settings changed; reload before saving.
- `FOLLOWUP_DISABLED`: Turn this follow-up email on in the notification settings first.
- `FOLLOWUP_CONSENT_REQUIRED`: The patient has not consented to this follow-up email for their current address.
- `PATIENT_EMAIL_REQUIRED`: Record the patient's email before this action.
- `PATIENT_ARCHIVED`: Restore the patient before this action.
- `RECALL_ALREADY_ACTIVE`: The patient already has an active recall for this service.
- `RECALL_MONTH_PASSED`: The recall's month has already passed.
- `RECALL_VISIT_REQUIRED`: Enter the last visit: there is no attended appointment of this service for the patient.
- `RECALL_VISIT_IN_FUTURE`: The last visit must be a past date.
- `RECALL_VERSION_MISMATCH`: The recall changed after it was loaded.
- `SLOT_OFFER_NOT_ALLOWED`: Only an open waiting-list entry of a registered patient can receive a slot offer.
- `SLOT_OFFER_MISMATCH`: The slot belongs to another service or agenda than the entry asks for.
- `SLOT_OFFER_TOO_SOON`: The slot starts too soon to hold it for the patient; offer a later one.
- `SLOT_OFFER_ALREADY_OPEN`: This waiting-list entry already has an open slot offer.
- `SLOT_OFFER_CLOSED`: The slot offer is no longer open.

#### Example

```json
{
  "error": {
    "code": "PAYER_STAFF_ONLY"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.409.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 413

`REQUEST_TOO_LARGE`: The request exceeds the allowed size.

#### Example

```json
{
  "error": {
    "code": "REQUEST_TOO_LARGE"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.413.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 415

- `UNSUPPORTED_MEDIA_TYPE`: The request content type is not supported.
- `APPLICATION_JSON_REQUIRED`: Send the request as application/json.
- `FILE_CONTENT_MISMATCH`: The uploaded content does not match its declared file type.
- `UNSUPPORTED_CONTENT_ENCODING`: Send an uncompressed request body.
- `UNSUPPORTED_FILE_TYPE`: Select a supported attachment file type.

#### Example

```json
{
  "error": {
    "code": "UNSUPPORTED_MEDIA_TYPE"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.415.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 426

`UPGRADE_REQUIRED`: Open the live channel with a WebSocket upgrade.

#### Example

```json
{
  "error": {
    "code": "UPGRADE_REQUIRED"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.426.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 429

`RATE_LIMITED`: The request rate limit was exceeded. Try again later.

#### Example

```json
{
  "error": {
    "code": "RATE_LIMITED"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.429.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 500

`INTERNAL_ERROR`: The service could not complete the operation.

#### Example

```json
{
  "error": {
    "code": "INTERNAL_ERROR"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.500.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 502

`OUTCOME_UNKNOWN`: The operation may have been applied; check its result before repeating it.

#### Example

```json
{
  "error": {
    "code": "OUTCOME_UNKNOWN"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.502.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 503

- `UPSTREAM_UNAVAILABLE`: The upstream service could not complete the request.
- `ARBOL_RESPONSE_TOO_LARGE`: The integration response exceeds the supported size.
- `ARBOL_UNAVAILABLE`: The integration service is temporarily unavailable. Retry later.
- `REMOVAL_WORKFLOW_UNAVAILABLE`: Durable removal is unavailable here; use the bounded manual removal operations.
- `ARBOL_REFUSED`: The integration service rejected this request. Review its configuration.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_UNAVAILABLE"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.503.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 504

`UPSTREAM_TIMEOUT`: The upstream service did not respond before its deadline.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_TIMEOUT"
  }
}
```

- `error` (`agenda.bookingSlots.list.response.504.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`


Source: https://docs.getarbol.com/api/agenda/booking-slots/list/index.md
