# Get information requests

Get the information requests configured for an experience.
Information requests describe the additional questions a guest answers during the booking flow.
Use them to render the booking form. The answers a guest actually provides are returned by
[Get information request answers](/apis/booking/getinformationrequestanswers) on a booking.

Endpoint: GET /v1/experiences/{experienceId}/information-requests
Security: OAuth2

## Security:

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

## Path parameters:

  - `experienceId` (string, required)
    The ID of the experience.

## 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 this information request.

  - `items.type` (string, required)
    Discriminator value identifying this as a text information request.
    Enum: "TEXT"

  - `items.required` (boolean, required)
    Whether an answer must be provided. Required answers are validated when the booking is created.

  - `items.scope` (string, required)
    Where the answer is collected within the booking.
- `BOOKING` — collected once per booking (e.g. *"Any dietary restrictions?"*).
- `TICKET` — collected once per ticket within the booking (e.g. *"What size of bicycle do you want?"*, asked once per attendee).
- `UNSPECIFIED` — reserved value; not produced in normal API responses.
    Enum: "BOOKING", "TICKET", "UNSPECIFIED"

  - `items.question` (string, required)
    The question presented to the guest, returned in the language negotiated via the `Accept-Language` header.

## Response 400:

  - `400` (unknown)
    Bad request.

## Response 400 fields (application/json):

  - `code` (string, required)
    Machine-readable error code. Each code always comes with the same HTTP status:
`BAD_REQUEST` (400), `UNAUTHORIZED` (401), `FORBIDDEN` (403), `NOT_FOUND` (404),
`CONFLICT` (409), `PRECONDITION_FAILED` (412), `TOO_MANY_REQUESTS` (429),
`INTERNAL_SERVER_ERROR` (500), `NOT_IMPLEMENTED` (501), `SERVICE_UNAVAILABLE` (503)
and `GATEWAY_TIMEOUT` (504).
The list is extensible: handle an unknown code by its HTTP status.
    Example: BAD_REQUEST

  - `message` (string, required)
    Human-readable description of the error, and how to resolve it where possible.

## Response 403:

  - `403` (unknown)
    Forbidden - insufficient permissions.

## Response 403 fields (application/json):

  - `code` (string, required)
    Machine-readable error code. Each code always comes with the same HTTP status:
`BAD_REQUEST` (400), `UNAUTHORIZED` (401), `FORBIDDEN` (403), `NOT_FOUND` (404),
`CONFLICT` (409), `PRECONDITION_FAILED` (412), `TOO_MANY_REQUESTS` (429),
`INTERNAL_SERVER_ERROR` (500), `NOT_IMPLEMENTED` (501), `SERVICE_UNAVAILABLE` (503)
and `GATEWAY_TIMEOUT` (504).
The list is extensible: handle an unknown code by its HTTP status.
    Example: BAD_REQUEST

  - `message` (string, required)
    Human-readable description of the error, and how to resolve it where possible.

## Response 404:

  - `404` (unknown)
    Experience not found.

## Response 404 fields (application/json):

  - `code` (string, required)
    Machine-readable error code. Each code always comes with the same HTTP status:
`BAD_REQUEST` (400), `UNAUTHORIZED` (401), `FORBIDDEN` (403), `NOT_FOUND` (404),
`CONFLICT` (409), `PRECONDITION_FAILED` (412), `TOO_MANY_REQUESTS` (429),
`INTERNAL_SERVER_ERROR` (500), `NOT_IMPLEMENTED` (501), `SERVICE_UNAVAILABLE` (503)
and `GATEWAY_TIMEOUT` (504).
The list is extensible: handle an unknown code by its HTTP status.
    Example: BAD_REQUEST

  - `message` (string, required)
    Human-readable description of the error, and how to resolve it where possible.

## Response default:

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

## Response default fields (application/json):

  - `code` (string, required)
    Machine-readable error code. Each code always comes with the same HTTP status:
`BAD_REQUEST` (400), `UNAUTHORIZED` (401), `FORBIDDEN` (403), `NOT_FOUND` (404),
`CONFLICT` (409), `PRECONDITION_FAILED` (412), `TOO_MANY_REQUESTS` (429),
`INTERNAL_SERVER_ERROR` (500), `NOT_IMPLEMENTED` (501), `SERVICE_UNAVAILABLE` (503)
and `GATEWAY_TIMEOUT` (504).
The list is extensible: handle an unknown code by its HTTP status.
    Example: BAD_REQUEST

  - `message` (string, required)
    Human-readable description of the error, and how to resolve it where possible.

