# Get experiences

Get all experiences for the company.
Returns experiences in any non-deleted lifecycle state, including `INACTIVE` and `ARCHIVED`.
Filter by `state` client-side if you only want bookable experiences. The response is paginated;
pass the returned `next` cursor on subsequent calls to continue.

Endpoint: GET /v1/experiences
Security: OAuth2

## Security:

  - `OAuth2` (unknown)
    oauth2 scopes: experience.read

## Query parameters:

  - `cursor` (string)
    Pagination cursor for fetching the next page of results.
Omit or pass an empty string to start from the beginning of the list.

  - `limit` (integer)
    Maximum number of items to return per page.
Defaults to 100, maximum 100.

## Header parameters:

  - `Accept-Language` (string, required)

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `next` (string)
    Cursor for the next page of results.
An empty string or absent value indicates the end of the list.

  - `items` (array)

  - `items.id` (string, required)
    The unique identifier of the experience.

  - `items.state` (string, required)
    The lifecycle state of the experience.
- `ACTIVE` — bookable; the default operational state.
- `INACTIVE` — temporarily not bookable, but still managed by the company. Can transition back to `ACTIVE`.
- `ARCHIVED` — terminal state. The experience is hidden from active management; it is no longer bookable and cannot transition back.
- `DELETED` — terminal state. The experience has been deleted; it is no longer bookable and cannot transition back.
- `UNKNOWN` — defensive default; should not appear on a correctly configured experience.
    Enum: "ACTIVE", "INACTIVE", "ARCHIVED", "DELETED", "UNKNOWN"

  - `items.name` (string, required)
    The display name of the experience, returned in the language negotiated via the `Accept-Language` header.

  - `items.description` (string)
    Markdown formatted text.
This is a string that contains markdown syntax.

  - `items.tag_ids` (array)
    Opaque tag identifiers associated with the experience.

Use them to group or filter experiences in your own UI; the IDs are not resolved to tag entities by this API.

  - `items.media` (array)
    Media items (images and videos) attached to the experience, ordered as configured by the company.

  - `items.media.type` (string, required)
    Discriminator value identifying this media item as an image.
    Enum: "IMAGE"

  - `items.media.url` (string, required)
    URL where the image can be fetched.

  - `items.media.mime_type` (string, required)
    IANA media type of the image, e.g. `image/jpeg` or `image/png`.

  - `items.media.type` (string, required)
    Discriminator value identifying this media item as a video.
    Enum: "VIDEO"

  - `items.media.url` (string, required)
    URL where the video can be fetched.

  - `items.created_at` (string, required)
    Timestamp of when the experience was created.

  - `items.updated_at` (string, required)
    Timestamp of when the experience was last modified.

Includes both content edits and lifecycle transitions (state changes, archival, deletion).

  - `items.metadata` (object)
    Example: {"key1":"value1","key2":"value2"}

## Response 400:

  - `400` (unknown)
    Bad request.

## Response 400 fields (application/json):

  - `code` (string, required)

  - `message` (string, required)

## Response default:

  - `default` (unknown)
    Unexpected error.
This will be a 5XX status code.

## Response default fields (application/json):

  - `code` (string, required)

  - `message` (string, required)

