# List conversions

This endpoint returns conversion data for bookings within a specified date range.

Note: Conversions data is only provided for selected accounts based on contractual agreements.

Exactly one date filter must be provided. The available filters are:
- booking_date_range: Filter by the date the booking was made
- cancellation_date_range: Filter by the date the booking was cancelled
- checkout_date_range: Filter by the checkout date of the booking

Each date range must include both from and to dates in ISO-8601 format (YYYY-MM-DD).
Results are paginated with a default page size of 100 and a maximum of 1000 records per page.
Use the page_token from the response to retrieve subsequent pages.

Example requests:

Filter by booking date:
json
{
  "booking_date_range": {
    "from": "2025-01-01",
    "to": "2025-01-31"
  },
  "page_size": 100
}


Filter by cancellation date:
json
{
  "cancellation_date_range": {
    "from": "2025-01-01",
    "to": "2025-01-31"
  },
  "page_size": 100
}


Filter by checkout date:
json
{
  "checkout_date_range": {
    "from": "2025-01-01",
    "to": "2025-01-31"
  },
  "page_size": 100
}

Endpoint: POST /reports/conversions
Version: 1.1
Security: BearerAuth

## Request fields (application/json):

  - `page_size` (integer)
    Number of results per page. Default is 100, maximum is 1000.
    Example: 100

  - `page_token` (string)
    Token for retrieving the next page of results. Obtained from the previous response's pagination.next_page_token.

## Response 200 fields (application/json):

  - `conversions` (array)
    List of conversion records matching the search criteria.

  - `conversions.booking_date` (string)
    The date and time when the booking was made (ISO 8601 datetime).
    Example: "2025-01-15T14:30:00Z"

  - `conversions.cancellation_date` (string)
    The date and time when the booking was cancelled, if applicable (ISO 8601 datetime).
    Example: "2025-01-16T10:00:00Z"

  - `conversions.booking_reference` (string)
    Unique reference identifier for the booking.
    Example: "1234567890"

  - `conversions.checkin_date` (string)
    The check-in date for the booking (YYYY-MM-DD).
    Example: "2025-02-01"

  - `conversions.checkout_date` (string)
    The check-out date for the booking (YYYY-MM-DD).
    Example: "2025-02-05"

  - `conversions.label` (string)
    Custom label associated with the booking, typically used for tracking campaigns or sources.
    Example: "campaign_xyz"

  - `conversions.booking_status` (string)
    Current status of the booking.
    Enum: "confirmed", "cancelled", "no_show"

  - `conversions.commission_amount` (string)
    The commission amount for this booking.
    Example: "25.50"

  - `conversions.commission_currency` (string)
    The currency of the commission amount (ISO 4217 currency code).
    Example: "EUR"

  - `conversions.device_type` (string)
    The type of device used to make the booking.
    Enum: "desktop", "mobile"

  - `pagination` (object)
    Pagination information for the conversions response.

  - `pagination.next_page_token` (string)
    Token to use for retrieving the next page of results. Empty if there are no more pages.
    Example: "eyJwYWdlIjogMn0="

  - `pagination.total_results` (integer)
    Total number of conversion records matching the search criteria.
    Example: 150

  - `pagination.total_pages` (integer)
    Total number of pages available.
    Example: 2

  - `pagination.random_page_access` (boolean)
    Indicates whether random page access is supported. If false, only sequential pagination is available.

  - `metadata` (object)
    Metadata about the conversions response.

  - `metadata.request_id` (string)
    Unique identifier for this request, useful for debugging and support.
    Example: "req_abc123xyz"

  - `metadata.timestamp` (string)
    The timestamp when the response was generated (ISO 8601 datetime).
    Example: "2025-01-19T10:30:00Z"

  - `metadata.result_count` (integer)
    Number of conversion records returned in this response.
    Example: 50

## Response 400 fields (application/json):

  - `errors` (array)
    List of errors that occurred during request processing.

  - `errors.id` (string)
    Machine-readable error identifier.
    Example: "conflicting_parameters"

  - `errors.name` (string)
    Human-readable error name.
    Example: "Conflicting Parameters"

  - `errors.message` (string)
    Detailed error message explaining what went wrong.
    Example: "Parameters booking_date_range, cancellation_date_range are mutually exclusive."

  - `request_id` (string)
    Unique identifier for this request, useful for debugging and support.
    Example: "req_abc123xyz"


