Skip to navigation

1 · Origins

List origin airports.

What: the origin airports you can fly from, canonicalised to IATA.

When: to build the “from” field of a search form, or a route picker.

How: POST with a JSON body { tripType? }. No query params.

Trip kind: leave tripType out to list every kind — airports with one-way flights AND airports that only round-trip packages leave from (the same meaning as /search without tripType). Send ONE_WAY or ROUND_TRIP to list only that kind. Round trips are asked only of suppliers that sell round-trip packages. Send the same tripType (or none) to discovery and to /search: a picker that lists every kind but a search that asks for one kind offers dates the search then finds nothing on.

After: POST /destinations (body { origin }) to get where you can fly to.

Each airport carries inventoryCategories — the inventory kinds YOU can book there (the kinds of your suppliers that list it): ["SERIES"] = pre-purchase/special fares, ["ONLINE"] = live online/GDS, [] = none/unknown. Render a badge, or show only series airports by keeping rows whose inventoryCategories include SERIES.

supplierCodes is optional (old name sources, accepted until the next release). Omit it to use every supplier you have switched on. Send a subset to narrow the picker, and send the SAME list to /search so the routes and dates a user can pick match the suppliers that will be searched. Get the codes from GET /v1/flights/suppliers; a code your key is not switched on for returns 403.

Scope: this returns only YOUR bookable origins. For the full searchable airport master (reference data — every airport, with timezone/geo/ICAO) call GET /v1/airports/*.

Supplier health: when your organisation sees suppliers before booking, meta.suppliers[] has one entry per supplier Kitionz considered, for each trip kind it was asked about. Otherwise (the default: suppliers are named after booking) meta.suppliers is [] and meta.supplierDisclosure is AFTER_BOOKING — an empty list then says nothing about supplier health. Each entry: { sourceCode, tripType, status, tookMs }. With no tripType in the request, a supplier that sells round trips has two entries (ONE_WAY and ROUND_TRIP). status = ok, not_asked, or a classified error code. not_asked (with reason = ORIGIN_NOT_LISTED or DEST_NOT_LISTED) means the supplier was not called because its own saved list for the previous step did not contain the airport — an answer, not a fault; treat only error codes as failures, and treat an unrecognised status as opaque. If a supplier fails (or is backing off after rate-limiting Kitionz) and Kitionz holds a recent good answer from it, that answer is still included and its entry carries stale: true + staleAgeMs (route lists up to 24 h old, date lists up to 2 h old with past dates removed). Route lists are cached for up to 2 h and date lists for up to 15 min: a list is served from the cache inside its window and fetched again on the first request after it.

Example — request (an empty body lists every trip kind):

{}

Response (trimmed) — data is the airport array; meta.count is the total:

{ "data": [ { "iataCode": "DEL", "airportName": "Indira Gandhi International Airport", "city": "New Delhi", "countryCode": "IN", "timezone": "Asia/Kolkata", "cityGroup": "DEL", "inventoryCategories": ["SERIES"] } ], "meta": { "count": 1 } }

Authentication

AuthorizationBearer

Your Kitionz API key, sent as Authorization: Bearer keyId:secret. Create a Test key at sandbox.kitionz.com → API keys, a Live key at kitionz.com → API → API keys.

Request

This endpoint expects an object.
tripTypeenumOptional

ONE_WAY or ROUND_TRIP lists only that kind of trip. Leave it out to list every kind: one-way flights and round-trip packages together (as /search does).

Allowed values:
supplierCodeslist of stringsOptional

Optional. Leave it out to use every supplier your account has switched on. Send a list of supplier codes (each supplier’s code in GET /v1/flights/suppliers) only to narrow this call to some of them; a code you cannot use is refused (403), and blank entries are ignored.

Response

Default Response
successboolean
statusCodedouble
datalist of objects
metaobject