{"openapi":"3.1.0","info":{"title":"AirLabs (BYOK) API","version":"0.1.0","description":"AirLabs (BYOK) lets an AI assistant read your own AirLabs data through the AirLabs API with a key you supply (AirLabs API key). Read-only: 6 tools (list_live_flights, get_flight_info, list_airport_schedules, list_flight_delays, search_airports, search_airlines). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-airlabs.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-airlabs/docs"},"termsOfService":"https://connectorbay.com/byok-airlabs/terms"},"servers":[{"url":"https://byok-airlabs.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-airlabs/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_live_flights":{"post":{"operationId":"list_live_flights","summary":"List aircraft currently in the air, filtered by airline, flight, airports, aircraft registration or a bounding box; incl","description":"List aircraft currently in the air, filtered by airline, flight, airports, aircraft registration or a bounding box; includes position, altitude, speed, heading, route codes and status. Some fields need a paid plan. Use for \"Which British Airways flights are in the air right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"airline_iata":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Airline IATA code, for example 'BA'.","title":"Airline Iata"},"flight_iata":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Flight IATA code and number, for example 'BA117'.","title":"Flight Iata"},"flight_icao":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Flight ICAO code and number, for example 'BAW117'.","title":"Flight Icao"},"dep_iata":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Departure airport IATA code, for example 'JFK'.","title":"Dep Iata"},"arr_iata":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Arrival airport IATA code, for example 'LHR'.","title":"Arr Iata"},"reg_number":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"Aircraft registration, for example 'G-XWBA'.","title":"Reg Number"},"bbox":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Bounding box 'south-west lat,south-west lng,north-east lat,north-east lng' in decimal degrees.","title":"Bbox"},"fields":{"anyOf":[{"maxLength":400,"type":"string"},{"type":"null"}],"default":"hex,reg_number,flag,lat,lng,alt,dir,speed,flight_iata,airline_iata,dep_iata,arr_iata,status,updated","description":"Comma-separated response fields to return (limits the size of the answer).","title":"Fields"}},"title":"list_live_flightsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_flight_info":{"post":{"operationId":"get_flight_info","summary":"Get the closest live, scheduled or landed flight for one flight code: aircraft, position, departure and arrival times, t","description":"Get the closest live, scheduled or landed flight for one flight code: aircraft, position, departure and arrival times, terminals, gates, delays and status. Returns one flight. Use for \"What is the status of flight BA117\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"flight_iata":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Flight IATA code and number, for example 'BA117' (give this or flight_icao).","title":"Flight Iata"},"flight_icao":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Flight ICAO code and number, for example 'BAW117'.","title":"Flight Icao"}},"title":"get_flight_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_airport_schedules":{"post":{"operationId":"list_airport_schedules","summary":"List scheduled departures or arrivals (up to 10 hours ahead) for an airport, airline or flight, with times, terminals, g","description":"List scheduled departures or arrivals (up to 10 hours ahead) for an airport, airline or flight, with times, terminals, gates, delays and status. Use for \"What flights depart from JFK in the next few hours\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"dep_iata":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Departure airport IATA code, for example 'JFK'.","title":"Dep Iata"},"arr_iata":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Arrival airport IATA code, for example 'LHR'.","title":"Arr Iata"},"airline_iata":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Airline IATA code, for example 'BA'.","title":"Airline Iata"},"flight_iata":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Flight IATA code and number, for example 'BA117'.","title":"Flight Iata"},"dep_icao":{"anyOf":[{"maxLength":4,"type":"string"},{"type":"null"}],"default":null,"description":"Departure airport ICAO code, for example 'KJFK'.","title":"Dep Icao"},"arr_icao":{"anyOf":[{"maxLength":4,"type":"string"},{"type":"null"}],"default":null,"description":"Arrival airport ICAO code, for example 'EGLL'.","title":"Arr Icao"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum number of items (up to 1000 for airport queries, 200 for airline queries, 50 on a free key).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of items to skip, for paging.","title":"Offset"},"fields":{"anyOf":[{"maxLength":400,"type":"string"},{"type":"null"}],"default":"airline_iata,flight_iata,flight_number,dep_iata,dep_time,dep_estimated,dep_terminal,dep_gate,arr_iata,arr_time,arr_estimated,arr_terminal,arr_gate,status,duration,dep_delayed,arr_delayed","description":"Comma-separated response fields to return (limits the size of the answer).","title":"Fields"}},"title":"list_airport_schedulesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_flight_delays":{"post":{"operationId":"list_flight_delays","summary":"List delayed departures or arrivals of at least a given number of minutes (more than 30), optionally for one airport, ai","description":"List delayed departures or arrivals of at least a given number of minutes (more than 30), optionally for one airport, airline or flight. Use for \"Which flights arriving at LHR are delayed by over an hour\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"description":"departures or arrivals.","enum":["departures","arrivals"],"title":"Type","type":"string"},"delay":{"description":"Minimum delay in minutes; must be over 30.","maximum":1440,"minimum":31,"title":"Delay","type":"integer"},"dep_iata":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Departure airport IATA code, for example 'JFK'.","title":"Dep Iata"},"arr_iata":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Arrival airport IATA code, for example 'LHR'.","title":"Arr Iata"},"airline_iata":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Airline IATA code, for example 'BA'.","title":"Airline Iata"},"flight_iata":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Flight IATA code and number, for example 'BA117'.","title":"Flight Iata"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum number of items (up to 1000 for airport queries, 200 for airline queries, 50 on a free key).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of items to skip, for paging.","title":"Offset"},"fields":{"anyOf":[{"maxLength":400,"type":"string"},{"type":"null"}],"default":"airline_iata,flight_iata,flight_number,dep_iata,dep_time,dep_estimated,dep_terminal,dep_gate,arr_iata,arr_time,arr_estimated,arr_terminal,arr_gate,status,duration,dep_delayed,arr_delayed,delayed","description":"Comma-separated response fields to return (limits the size of the answer).","title":"Fields"}},"required":["type","delay"],"title":"list_flight_delaysArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_airports":{"post":{"operationId":"search_airports","summary":"Look up airports by IATA, ICAO or city code or country: name, codes, coordinates, timezone, city and country; more field","description":"Look up airports by IATA, ICAO or city code or country: name, codes, coordinates, timezone, city and country; more fields need a paid plan. Use for \"What is the IATA code and location of Heathrow airport\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"iata_code":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Airport IATA code, for example 'LHR'.","title":"Iata Code"},"icao_code":{"anyOf":[{"maxLength":4,"type":"string"},{"type":"null"}],"default":null,"description":"Airport ICAO code, for example 'EGLL'.","title":"Icao Code"},"city_code":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"IATA city code, for example 'LON'.","title":"City Code"},"country_code":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter ISO country code, for example 'GB'.","title":"Country Code"},"fields":{"anyOf":[{"maxLength":400,"type":"string"},{"type":"null"}],"default":"name,iata_code,icao_code,lat,lng,city,country_code,timezone","description":"Comma-separated response fields to return (limits the size of the answer).","title":"Fields"}},"title":"search_airportsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_airlines":{"post":{"operationId":"search_airlines","summary":"Look up airlines by IATA/ICAO code, callsign, name or country: codes, callsign, country, fleet size and average fleet ag","description":"Look up airlines by IATA/ICAO code, callsign, name or country: codes, callsign, country, fleet size and average fleet age where available. Use for \"What is the IATA code of Lufthansa\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"iata_code":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Airline IATA code, for example 'LH'.","title":"Iata Code"},"icao_code":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Airline ICAO code, for example 'DLH'.","title":"Icao Code"},"callsign":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"ICAO callsign.","title":"Callsign"},"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Airline name.","title":"Name"},"country_code":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter ISO country code, for example 'DE'.","title":"Country Code"},"fields":{"anyOf":[{"maxLength":400,"type":"string"},{"type":"null"}],"default":"name,iata_code,icao_code,callsign,country_code,total_aircrafts,average_fleet_age,website","description":"Comma-separated response fields to return (limits the size of the answer).","title":"Fields"}},"title":"search_airlinesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}