# Waitlists

To use this capability, add `octo/waitlists` to your `Octo-Capabilities` header.

All waitlist paths below are under `/octo`.

{% openapi src="<https://221588849-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7bgGIyO7QYNOfUMfxh%2Fuploads%2Fgit-blob-fa2d8cb1d7297d352c2639e6c4c6a990f2add6d7%2Fopenapi.yaml?alt=media>" path="/waitlists" method="post" %}
[openapi.yaml](https://221588849-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7bgGIyO7QYNOfUMfxh%2Fuploads%2Fgit-blob-fa2d8cb1d7297d352c2639e6c4c6a990f2add6d7%2Fopenapi.yaml?alt=media)
{% endopenapi %}

At least one non-item unit quantity must resolve to a total waitlist size greater than `0` (entries resolved to `item_...` do not add to waitlist size).

### Response Fields

When personal information masking is enabled on the connection, the same `contact` fields are returned but personal values are `null`.

## Schema Additions (JSON)

These are additive fragments showing only fields introduced by this capability.

### `Waitlist`

```json
{
  "// ...rest of waitlist object": "...",
  "id": "f1a5d2e8-8d57-4f0b-9c3f-6a12d7a8bc90",
  "status": "ACTIVE",
  "optionId": "94cdd032-3d32-416d-b0a4-abf8b7495b8b",
  "productId": "e7cc8bb4-8d1c-4848-8824-5dbedb718681",
  "localDate": "2026-05-14",
  "units": [
    {
      "unitId": "3d6f0a3a-59d4-4b16-a0c5-11d2d8a4e6b7",
      "quantity": 2
    }
  ],
  "contact": {
    "fullName": "Jane Doe",
    "emailAddress": "jane.doe@goldengatetours.com"
  },
  "createdAt": "2026-05-14T10:00:00Z",
  "uuid": "89fe0192-ddcd-430a-b285-e1396a4725d2",
  "supplierReference": "SUP-BOOK-7782",
  "size": 2,
  "visibleContactFields": [
    "fullName",
    "emailAddress"
  ],
  "requiredContactFields": [
    "fullName",
    "emailAddress"
  ],
  "utcCreatedAt": "2026-05-14T13:00:00Z",
  "utcUpdatedAt": "2026-05-14T13:00:00Z"
}
```

### `WaitlistRequest`

```json
{
  "// ...rest of waitlist request object": "...",
  "optionId": "94cdd032-3d32-416d-b0a4-abf8b7495b8b"
}
```

### `WaitlistUnit`

```json
{
  "// ...rest of waitlist unit object": "...",
  "unitId": "unit_adult",
  "quantity": 2
}
```
