API console
Try it
Send a real request to the sandbox API and inspect the response.
Credentials
Log in to pick from your saved API keys instead of pasting them.
Path parameters
2 fieldsGDS provider
Global Distribution System used to source flight content. Select 0 for the default provider.
Offer ID
Identifier of the offer returned by a previous flight search request.
cURL request
curl -X GET 'https://api.sandbox.travelandz.com/v1/flights/offers/0/:offerId' \
-H 'Authorization: Bearer YOUR_SECRET_KEY' \
-H 'X-Travelandz-Id: YOUR_PUBLIC_KEY:YOUR_PROFILE_CODE'Add your credentials to send a request.
Response
Click "Try it!" to send a request and see the response here.
Retrieves the latest details for a selected flight offer before booking, including price, conditions, segments and passenger requirements when available.
Endpoint
| Method | Path | Auth |
|---|---|---|
GET | /v1/flights/offers/:gdsprovider/:offerId | Required API key |
| Header | Description |
|---|---|
Authorization | Bearer <secret_key>. The secret is shown only once when the credential is created. |
X-Travelandz-Id | <public_key>:<profile_code>. The profile_code is the dp_-prefixed Developer Profile code shown in your dashboard. This binds the request to a profile and credential. |
Content-Type | Use application/json for requests with a body. |
Request Params Schema
gdsproviderofferIdRequest Body
No request body is required.
Success Response
Returns offerData with the selected offer, passenger ids, document requirements, hold options and flight segments when supported.
Response Body Schema
offerDataofferDataofferIdofferDatagdsproviderofferDataexpiresAtofferDatatotalAmountofferDataholdOptionsofferDataholdOptionsavailableofferDataholdOptionspaymentRequiredByofferDataholdOptionspriceGuarantedUntilofferDatasupportedPassengerIdDocumentsofferDatasupportedPassengerIdDocuments[]offerDatapassengerIdentityDocumentsRequiredofferDatasupportedLoyaltyProgramsofferDatasupportedLoyaltyPrograms[]offerDataairlineofferDataairlinenameofferDataairlineiataCodeofferDataairlinelogoURLofferDataairlineconditionsOfCarriageofferDatapassengersofferDatapassengers[]idmystifly_pax_1.offerDatapassengers[]typeofferDataconditionsofferDataconditionsrefundBeforeDepartureofferDataconditionsrefundBeforeDeparturecurrencyofferDataconditionsrefundBeforeDeparturepenaltyAmountofferDataconditionsrefundBeforeDepartureallowedofferDataconditionschangeBeforeDepartureofferDataconditionschangeBeforeDeparturecurrencyofferDataconditionschangeBeforeDeparturepenaltyAmountofferDataconditionschangeBeforeDepartureallowedofferDataslicesofferDataslices[]fareNameofferDataslices[]departureofferDataslices[]departureiataCodeofferDataslices[]departurecityNameofferDataslices[]departureairportNameofferDataslices[]departuredepartingAtofferDataslices[]departuretimeZoneofferDataslices[]arrivalofferDataslices[]arrivaliataCodeofferDataslices[]arrivalcityNameofferDataslices[]arrivalairportNameofferDataslices[]arrivalarrivingAtofferDataslices[]arrivaltimeZoneofferDataslices[]durationMinutesofferDataslices[]conditionsofferDataslices[]conditionspriorityCheckInofferDataslices[]conditionspriorityBoardingofferDataslices[]conditionsadvanceSeatSelectionofferDataslices[]segmentsofferDataslices[]segments[]fareNameofferDataslices[]segments[]departureofferDataslices[]segments[]departureiataCodeofferDataslices[]segments[]departurecityNameofferDataslices[]segments[]departureairportNameofferDataslices[]segments[]departuredepartingAtofferDataslices[]segments[]departuretimeZoneofferDataslices[]segments[]departureterminalofferDataslices[]segments[]arrivalofferDataslices[]segments[]arrivaliataCodeofferDataslices[]segments[]arrivalcityNameofferDataslices[]segments[]arrivalairportNameofferDataslices[]segments[]arrivalarrivingAtofferDataslices[]segments[]arrivaltimeZoneofferDataslices[]segments[]arrivalterminalofferDataslices[]segments[]airlineofferDataslices[]segments[]airlineoperatingCarrierofferDataslices[]segments[]airlineoperatingCarriernameofferDataslices[]segments[]airlineoperatingCarrieriataCodeofferDataslices[]segments[]airlineoperatingCarrierlogoURLofferDataslices[]segments[]airlineoperatingCarrierconditionsOfCarriageofferDataslices[]segments[]airlinemarketingCarrierofferDataslices[]segments[]airlinemarketingCarriernameofferDataslices[]segments[]airlinemarketingCarrieriataCodeofferDataslices[]segments[]airlinemarketingCarrierlogoURLofferDataslices[]segments[]airlinemarketingCarrierconditionsOfCarriageofferDataslices[]segments[]flightNumberofferDataslices[]segments[]durationMinutesofferDataslices[]segments[]passengersofferDataslices[]segments[]passengers[]amenitiesofferDataslices[]segments[]passengers[]amenitieswifiofferDataslices[]segments[]passengers[]amenitieswificostofferDataslices[]segments[]passengers[]amenitieswifiavailableofferDataslices[]segments[]passengers[]amenitiesseatofferDataslices[]segments[]passengers[]amenitiesseatpitchofferDataslices[]segments[]passengers[]amenitiesseatlegroomofferDataslices[]segments[]passengers[]amenitiesseattypeofferDataslices[]segments[]passengers[]amenitiespowerofferDataslices[]segments[]passengers[]baggagesofferDataslices[]segments[]passengers[]baggages[]typeofferDataslices[]segments[]passengers[]baggages[]quantityofferDataslices[]segments[]passengers[]baggages[]maxKgofferDataCO2EmissionsKgofferDataholdIdofferDataoriginalCurrencyofferDatacurrencyliveModeOperational Notes
- Fresh offer detail availability depends on the selected source.
- If direct offer detail is unavailable, keep the offer returned by public search and complete booking before it expires.
- Reuse
offerData.passengers[].idwhen creating the order. Do not send internal user identifiers.
Example
curl https://api.sandbox.travelandz.com/v1/flights/offers/0/offer_123 \
-H "Authorization: Bearer $TRAVELANDZ_SECRET_KEY" \
-H "X-Travelandz-Id: $TRAVELANDZ_PUBLIC_KEY:$TRAVELANDZ_PROFILE_CODE"Responses
| Code | Description |
|---|---|
200 | Flight offer detail retrieved successfully. |
400 | Bad request – invalid payload. |
401 | Unauthorized – invalid or missing credentials. |
403 | Forbidden – invalid credentials. |
500 | Internal server error |
200 Response Body
Media type: application/json
{
"offerData": {
"offerId": "off_0000B7SbjlHTw4iTcv9u1c",
"gdsprovider": 0,
"expiresAt": "2026-06-18T15:02:31.989Z",
"totalAmount": 235.38,
"holdOptions": {
"available": true,
"paymentRequiredBy": "2026-06-21T14:32:31.000Z",
"priceGuarantedUntil": "2026-06-20T14:32:31.000Z"
},
"supportedPassengerIdDocuments": [
"passport",
"known_traveler_number",
"passenger_redress_number"
],
"passengerIdentityDocumentsRequired": false,
"supportedLoyaltyPrograms": [
"ZZ"
],
"airline": {
"name": "Duffel Airways",
"iataCode": "ZZ",
"logoURL": "http://localhost:5000/v1/assets/airlines/0/for-light-background/full-color-logo/ZZ.svg",
"conditionsOfCarriage": "https://duffelairways.com/dummy-url/conditions-of-carriage"
},
"passengers": [
{
"id": "pas_0000B7Sbjl2apQo4skC0pb",
"type": "adult"
}
],
"conditions": {
"refundBeforeDeparture": {
"currency": "EUR",
"penaltyAmount": "40.00",
"allowed": true
},
"changeBeforeDeparture": {
"currency": "EUR",
"penaltyAmount": "40.00",
"allowed": true
}
},
"slices": [
{
"fareName": "Basic",
"departure": {
"iataCode": "MAD",
"cityName": "Madrid",
"airportName": "MAD",
"departingAt": "2026-08-12T08:30:00",
"timeZone": "Europe/Madrid"
},
"arrival": {
"iataCode": "JFK",
"cityName": "New York",
"airportName": "JFK",
"arrivingAt": "2026-08-12T10:45:00",
"timeZone": "America/New_York"
},
"durationMinutes": 495,
"conditions": {
"priorityCheckIn": false,
"priorityBoarding": false,
"advanceSeatSelection": false
},
"segments": [
{
"fareName": "Basic",
"departure": {
"iataCode": "MAD",
"cityName": "Madrid",
"airportName": "MAD",
"departingAt": "2026-08-12T08:30:00",
"timeZone": "Europe/Madrid",
"terminal": "2"
},
"arrival": {
"iataCode": "JFK",
"cityName": "New York",
"airportName": "JFK",
"arrivingAt": "2026-08-12T10:45:00",
"timeZone": "America/New_York",
"terminal": "1"
},
"airline": {
"operatingCarrier": {
"name": "Duffel Airways",
"iataCode": "ZZ",
"logoURL": "http://localhost:5000/v1/assets/airlines/0/for-light-background/full-color-logo/ZZ.svg",
"conditionsOfCarriage": "https://duffelairways.com/dummy-url/conditions-of-carriage"
},
"marketingCarrier": {
"name": "Duffel Airways",
"iataCode": "ZZ",
"logoURL": "http://localhost:5000/v1/assets/airlines/0/for-light-background/full-color-logo/ZZ.svg",
"conditionsOfCarriage": "https://duffelairways.com/dummy-url/conditions-of-carriage"
}
},
"flightNumber": "7252",
"durationMinutes": 495,
"passengers": [
{
"amenities": {
"wifi": {
"cost": "paid",
"available": true
},
"seat": {
"pitch": "30",
"legroom": "n/a",
"type": null
},
"power": true
},
"baggages": [
{
"type": "checked",
"quantity": 1,
"maxKg": "23"
},
{
"type": "carry_on",
"quantity": 1
}
]
}
]
}
]
}
],
"CO2EmissionsKg": 249,
"originalCurrency": "EUR",
"currency": "EUR"
},
"liveMode": false
}