# Retrieve car rental terms & conditions

Retrieve the structured terms and conditions for one or more car rental reservations.
The response contains hierarchical legal content organised into chapters, sections, clauses, sub-clauses, and clause options. Preserve this hierarchy when displaying or processing the terms.
Use this endpoint to:
* Display the complete rental contract to travellers.
* Show terms and conditions on reservation detail pages.
* Recreate the terms and conditions section of a booking voucher.
* Support legal, regulatory, and compliance requirements.

Notes:
* Include at least one reservation ID in the request.
* The response returns `null` for each reservation ID that is invalid or cannot be found.
* If language is not provided, or is unsupported, the response defaults to English.
* Use a supported language code, such as en-gb.
* You can request only the terms required for a booking voucher by applying the voucher-required filter.

Endpoint: POST /orders/details/cars/terms-and-conditions
Version: 3.3
Security: BearerAuth

## Security:

  - `BearerAuth` (unknown)
    http bearer string

## Header parameters:

  - `X-Affiliate-Id` (integer, required)
    Include here your Affiliate identifier number

## Request fields (application/json):

  - `booker` (object, required)
    Information about the booker

  - `booker.country` (string, required)
    A two-letter code that uniquely identifies a country. This code is defined by the ISO 3166-1 alpha-2 standard (ISO2) as described here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. The full list can be obtained by calling the /common/locations/countries endpoint.
    Example: nl

  - `language` (string)
    A [IETF language tag code](https://en.wikipedia.org/wiki/IETF_language_tag) that uniquely identifies a supported human language or dialect. **Note:** Demand API only accepts lowercase for the language codes. Examples: "nl" for Dutch/Nederlands or "en-us" for English (US). To retrieve the full list of supported languages, call the `/common/languages` endpoint.
    Example: en-us

  - `reservations` (array, required)
    An array of car rental reservation IDs for which to retrieve terms and conditions. Must include at least one valid ID.

  - `filters` (object)
    Optional filters that control which terms and conditions are returned.

  - `filters.voucher` (boolean)
    When true, returns only the terms and conditions that must appear on the booking voucher shown to the traveller. A booking voucher is the confirmation document that the traveller must present at the car rental desk to collect the vehicle.

## Response 200:

  - `200` (unknown)
    Successful response containing terms and conditions for requested orders. Invalid IDs return null.

## Response 200 fields (application/json):

  - `request_id` (string)
    Uniquely identifies the request. Please provide this identifier when contacting support.

  - `data` (object)
    Map of reservation IDs to their terms and conditions. Invalid or missing reservations return null.

## Response 400:

  - `400` (unknown)
    The request is invalid or missing required parameters. Refer to the [Error handling section](/demand/docs/support/error-handling/about-errors) for more details.

## Response 400 fields (application/json):

  - `request_id` (string, required)
    Uniquely identifies the request. Please provide this identifier when contacting support.

  - `errors` (array, required)

  - `errors.id` (string, required)

  - `errors.message` (string, required)

## Response 500:

  - `500` (unknown)
    Internal server error. Try again later or contact support.

## Response 500 fields (application/json):

  - `request_id` (string, required)
    Uniquely identifies the request. Please provide this identifier when contacting support.

  - `errors` (array, required)

  - `errors.id` (string, required)

  - `errors.message` (string, required)

## Response 400 examples:

  - `Missing parameter` (unknown)

  - `Malformed request` (unknown)

## Response 500 examples:

  - `Generic server error` (unknown)

