Skip to main content

Aviation Airline Data API 1.0.2

Aviation Airline Data API

Last updated: 13-Aug-2026
Recent changes: Merge branch 'OASUP-1359-developer-portal-docs' into 'main' docs(apidocs): add developer portal documentation See merge request api-program/apigee/aviation/aviation-apis/aviation-airline!7

Architecture overview

Client → Apigee X → AWS Lambda (Quarkus) → PostgreSQL

Apigee X acts as the API gateway, handling OAuth 2.0 token validation, CORS, and routing. Requests are forwarded to an AWS Lambda function built with Quarkus, which queries a PostgreSQL data source populated from the TUI crew tracking system. For large or explicitly requested result sets, the Lambda writes the response to Amazon S3 and returns a pre-signed download link instead of the inline JSON body.

Base URLs

Environment Base URL
Development https://dev.api.tui/aviation-airline
SIT / Test https://test.api.tui/aviation-airline
Production https://prod.api.tui/aviation-airline

Authentication

This API uses OAuth 2.0 Client Credentials flow. Available scopes are aviation-airline.all, aviation-airline.read, and aviation-airline.write.

Obtaining a token (non-production)

curl -X POST https://test.api.tui/oauth2/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET" \
  -d "scope=aviation-airline.read"

Obtaining a token (production)

curl -X POST https://prod.api.tui/oauth2/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET" \
  -d "scope=aviation-airline.read"

Calling the API with the token

curl https://test.api.tui/aviation-airline/roster-codes?owner=TUI \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Rate limits

There are no explicit rate limits enforced on this API today.

Large response handling

If a query would return more data than fits within the Lambda payload limit (5,000,000 bytes), or if the request includes responseFile=true, the response is written to Amazon S3 as a JSON file instead of being returned inline. The API response body then contains a pre-signed URL to download the file. The pre-signed URL is valid for 10 minutes.

Data freshness and date range

Data is sourced from the TUI crew tracking system and refreshed at five-minute intervals, so responses can be up to five minutes behind the live source system. Endpoints that accept startDate and endDate parameters return records that are valid within that date range.

Correlation ID

Requests can carry an id or X-Correlation-Id header for tracing. If neither is present, the API generates a correlation ID for the request. This ID is also used to name any file written to S3 for large response handling, which makes it easier to trace a specific request end to end.

Error handling

Status Meaning
200 Success
204 No matching data found for the given parameters
400 Bad request, typically an invalid or missing parameter
401 Not authorized, the access token is missing or invalid
403 Forbidden, the token does not have the required scope
500 Internal server error
504 Gateway timeout

See the interactive API reference for full error response schemas.

Requesting access

To request access to this API, raise a request at https://tui-air-links.com. The AOPS Tech team will provision client credentials for your application.

Support

About us

TUI is one of the world’s leading tourism groups. The broad portfolio gathered under the Group umbrella consists of strong tour operators, 1,600 travel agencies and leading online portals, five airlines with around 150 aircraft, over 400 hotels, 16 cruise liners and many incoming agencies in all major holiday destinations around the globe.

 

TUI Group logo

Contact

Login to your account