1Search
/api/v1/flights/searchReachable with a narrow key: flight_booking
GET /api/v1/flights/operations/{id} unless the offer cache already holds the search. Keep search_id and the chosen offer's key: every later call needs both. A search that reaches the supplier costs one unit of the month's quota; the same search again within 10 minutes comes from the cache and costs nothing, a search that fails is refunded, and one that is lost is never charged (Usage and quotas).Body
company_iduuidThe agency company that sells. Defaults to the account's default company (see
GET /api/v1/workspace).connection_iduuidA supplier connection to shop on. Defaults to the agency's default flight connection.
originstringrequiredIATA airport or city code.
destinationstringrequiredIATA airport or city code.
departure_ondaterequiredOutbound date, in the departure airport's local calendar.
return_ondateOmit for a one-way search.
trip_typeenumSend
multi_citywithlegsfor a multi-city search.one of
multi_citylegsobject[]Multi-city legs, in order.
Show fieldsHide fields
originstringIATA code.
destinationstringIATA code.
departure_ondateLocal departure date.
adultsintegerPassengers aged 12 and over. Defaults to 1.
childrenintegerPassengers aged 2 to 11.
infantsintegerPassengers under 2, travelling on an adult's lap. At most one per adult.
cabin_classenumDefaults to
economy.one of
economypremium_economybusinessfirstnon_stopbooleanOnly direct flights.
airlinesstringComma-separated carrier codes to keep.
excluded_airlinesstringComma-separated carrier codes to drop.
currencystringThe currency to quote in, when the supplier offers it. Defaults to the supplier's own.
Response · 200
search_idstringPass back with every later call on this search.
cachedbooleanTrue when the offer cache answered; such a search costs no quota.
currencystringCurrency of the prices in
offers.expires_atdate-timeWhen the offers lapse; price or hold before this.
offersobject[]The offers, cheapest first.
Show fieldsHide fields
keystringPass back as
offer_key.fare_familystringThe airline's brand for this fare, when it has one.
validating_carrierstringThe airline that issues the ticket.
carriersstring[]Every marketing carrier on the offer.
stopsintegerConnections on the longest direction.
duration_minutesintegerTotal journey time over every direction.
refundablebooleanWhether the fare can be refunded at all (penalties may still apply; see rules).
changeablebooleanWhether the fare can be changed at all (fees may apply; see rules).
baggage_allowancestringChecked baggage on the first segment, as the supplier states it.
seats_leftintegerAs the supplier reports it; a hint, not a guarantee.
last_ticketing_datedateThe airline's last day to ticket this fare.
itinerariesobject[]One entry per direction: outbound, then return, or each multi-city leg.
Show fieldsHide fields
duration_minutesintegerDoor to door for this direction, connections included.
originstringWhere this direction starts (IATA).
destinationstringWhere this direction ends (IATA).
segmentsobject[]The flights of this direction, in order.
Show fieldsHide fields
airline_codestringMarketing carrier (IATA).
flight_numberstringFlight number, without the carrier code.
departure_airportstringIATA airport code.
arrival_airportstringIATA airport code.
departure_timedate-timeLocal departure time with its UTC offset.
arrival_timedate-timeLocal arrival time with its UTC offset.
duration_minutesintegerTime in the air for this segment.
cabin_classstringCabin the fare books on this segment.
booking_classstringFare class letter (RBD).
baggage_allowancestringChecked baggage as the supplier states it, e.g.
1PCor20K.operating_carrierstringThe airline that flies the segment, when it differs from the marketing one.
priceobjectWhat the traveller pays. Sell only.
Show fieldsHide fields
totalstringWhat the traveller pays for every passenger on the offer, all taxes and the agency's fees included.
service_feestringThe agency's service fee inside
total.taxesstringTaxes and carrier surcharges inside
total.currencystringISO 4217 code.
Responses
202The call is running. Readpoll_urlafterRetry-Afterseconds until it answers anything but202; after 3 minutes the call is lost and the poll says what to do.401Missing or invalid Bearer token402The month's searches and the search wallet are both used up.403The key cannot reach the booking API: the account lacks an add-on (addon_required, withdetails.missing), the plan has no API access, or the key's scope is narrow.409The booking cannot go ahead as asked.price_changed: price again and confirm the new total with your customer.approval_required: the agency approves the ticket first, then call ticket again.hold_expired: search again.422The request was refused before anything was booked, or the supplier refused it (provider_rejected, with its reason inerror).429Rate limit exceeded503The supplier could not be reached, the call could not be queued, or a search, a price or the rules did not finish in 3 minutes (provider_unavailable). Nothing was booked: a search costs nothing, and a hold or a purchase is retried with the sameIdempotency-Key.
curl -X POST 'https://YOUR-CELL.lydira.com/api/v1/flights/search' \
-H 'Authorization: Bearer sek_YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"company_id": "3f1c2b9a-6d4e-4c1a-9b2f-1a2b3c4d5e6f",
"origin": "IST",
"destination": "LHR",
"departure_on": "2026-11-20",
"return_on": "2026-11-27",
"adults": 1,
"cabin_class": "economy"
}'{
"search_id": "eyJfcmFpbHMiOnsiZGF0YSI6eyJhY2NvdW50X2lkIjoi",
"cached": false,
"currency": "EUR",
"expires_at": "2026-10-07T09:10:00Z",
"offers": [
{
"key": "sbx_TK_1979_Y",
"fare_family": "EcoFly",
"validating_carrier": "TK",
"carriers": [
"TK"
],
"stops": 0,
"duration_minutes": 250,
"refundable": false,
"changeable": true,
"baggage_allowance": "1PC",
"seats_left": 7,
"last_ticketing_date": "2026-10-09",
"itineraries": [
{
"duration_minutes": 250,
"origin": "IST",
"destination": "LHR",
"segments": [
{
"airline_code": "TK",
"flight_number": "1979",
"departure_airport": "IST",
"arrival_airport": "LHR",
"departure_time": "2026-11-20T07:45:00+03:00",
"arrival_time": "2026-11-20T09:55:00+00:00",
"duration_minutes": 250,
"cabin_class": "economy",
"booking_class": "Y",
"baggage_allowance": "1PC",
"operating_carrier": "TK"
}
]
}
],
"price": {
"total": "412.50",
"service_fee": "15.00",
"taxes": "96.40",
"currency": "EUR"
}
}
]
}