Getting Started
This guide walks you through calling the Partner Content API, from obtaining an access token to making your first request. All endpoints are served over HTTPS and return application/json.
To integrate, you will need:
- A Client ID and Client Secret, provided to you by TUI.
- An agent code, agreed with TUI. Use the same agent code for every request.
If you don't yet have credentials, contact the Meta Package Team to request access: pip.meta.packages@mail.tuigroup.com
Base URLs
| Environment | Base URL |
|---|---|
| Production | https://prod.api.tui/sales/pip-package/content/v1 |
| Pre-Production | https://pre-prod.api.tui/sales/pip-package/content/v1 |
Use the Pre-Production environment to build and test your integration before going live.
Authentication
The API uses the OAuth 2.0 Client Credentials flow. Before calling any endpoint, request an access token and then send it as a Bearer token on every request.
1. Request an access token
Send your Client ID and Client Secret as HTTP Basic credentials (base64(clientId:clientSecret)) to the token endpoint.
| Environment | Token URL |
|---|---|
| Production | https://prod.api.tui/oauth2/token |
| Pre-Production | https://pre-prod.api.tui/oauth2/token |
curl --request POST \
--url https://prod.api.tui/oauth2/token \
--header 'Accept: application/json' \
--header 'Authorization: Basic <base64(clientId:clientSecret)>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=client_credentials'
The response contains an access_token. Reuse the token until it expires rather than requesting a new one per call. The token grants the read:sales-meta-package scope.
2. Call the API with the token
Send the token in the Authorization header:
--header 'Authorization: Bearer <access_token>'
Request Parameters
These parameters are shared across the endpoints below.
| Parameter | In | Required | Description |
|---|---|---|---|
market |
path | Yes | The source market code. Accepted values: dk, fi, no, se. |
accommodationId |
path | Yes | The accommodation id. Example: P-500004311. |
agent |
query | Yes | Your agent code. Use the same for every request. Example: tui. |
Endpoints
List accommodations
Returns all accommodations available for a market. Use this to discover accommodation ids for the detail endpoints below.
GET /markets/{market}/accommodations
curl --location 'https://prod.api.tui/sales/pip-package/content/v1/markets/se/accommodations?agent=tui' \
--header 'Authorization: Bearer <access_token>'
Get accommodation content
Returns the full content for a single accommodation (descriptions, facts, ratings, geo structure, configurations).
GET /markets/{market}/accommodations/{accommodationId}
curl --location 'https://prod.api.tui/sales/pip-package/content/v1/markets/se/accommodations/P-500004311?agent=tui' \
--header 'Authorization: Bearer <access_token>'
Get accommodation images
Returns the image set for a single accommodation, including available sizes.
GET /markets/{market}/accommodations/{accommodationId}/images
curl --location 'https://prod.api.tui/sales/pip-package/content/v1/markets/se/accommodations/P-500004311/images?agent=tui' \
--header 'Authorization: Bearer <access_token>'
Get room details
Returns the rooms and unit types for a single accommodation.
GET /markets/{market}/accommodations/{accommodationId}/room-details
curl --location 'https://prod.api.tui/sales/pip-package/content/v1/markets/se/accommodations/P-500004311/room-details?agent=tui' \
--header 'Authorization: Bearer <access_token>'
List locations
Returns all locations for a market. The location id values (G-codes) can be used as the destinations filter when searching packages with the Live Search API.
GET /markets/{market}/locations
curl --location 'https://prod.api.tui/sales/pip-package/content/v1/markets/se/locations?agent=tui' \
--header 'Authorization: Bearer <access_token>'
Reference
- Interactive docs: https://prod.api.tui/sales/pip-package/content/docs/ — open to the internet, but requests require authentication.
- OpenAPI spec: https://prod.api.tui/sales/pip-package/content/docs/spec
