{"openapi":"3.1.0","info":{"title":"Skyscanner (BYOK) API","version":"0.1.0","description":"Skyscanner (BYOK) lets an AI assistant read your own Skyscanner data through the Skyscanner API with a key you supply (Skyscanner partner API key). Read-only: 6 tools (list_currencies, list_locales, list_markets, get_nearest_culture, list_carriers, find_nearest_flight_places). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-skyscanner.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-skyscanner/docs"},"termsOfService":"https://connectorbay.com/byok-skyscanner/terms"},"servers":[{"url":"https://byok-skyscanner.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-skyscanner/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_currencies":{"post":{"operationId":"list_currencies","summary":"List the currencies Skyscanner supports with code, symbol, separators, symbol position and decimal digits. Use for \"Whic","description":"List the currencies Skyscanner supports with code, symbol, separators, symbol position and decimal digits. Use for \"Which currencies does Skyscanner support and how are they formatted\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_currenciesArguments","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_locales":{"post":{"operationId":"list_locales","summary":"List the locales Skyscanner supports with code and name. Use for \"Which locales does Skyscanner support\".","description":"List the locales Skyscanner supports with code and name. Use for \"Which locales does Skyscanner support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_localesArguments","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_markets":{"post":{"operationId":"list_markets","summary":"List the markets (countries) Skyscanner supports for a locale with market code, name and default currency. Use for \"Whic","description":"List the markets (countries) Skyscanner supports for a locale with market code, name and default currency. Use for \"Which markets does Skyscanner support in en-US\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"locale":{"description":"Locale code such as en-US (from list_locales).","maxLength":20,"title":"Locale","type":"string"}},"required":["locale"],"title":"list_marketsArguments","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_nearest_culture":{"post":{"operationId":"get_nearest_culture","summary":"Get the market, locale and currency Skyscanner suggests for an IP address. Use for \"Which Skyscanner market, locale and ","description":"Get the market, locale and currency Skyscanner suggests for an IP address. Use for \"Which Skyscanner market, locale and currency fit IP address 8.8.8.8\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ip_address":{"anyOf":[{"maxLength":45,"type":"string"},{"type":"null"}],"default":null,"description":"IPv4 or IPv6 address to look up.","title":"Ip Address"}},"title":"get_nearest_cultureArguments","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_carriers":{"post":{"operationId":"list_carriers","summary":"List the airlines Skyscanner knows, keyed by carrier id, with name, IATA code, ICAO code and display code. The answer is","description":"List the airlines Skyscanner knows, keyed by carrier id, with name, IATA code, ICAO code and display code. The answer is large. Use for \"What are the IATA and ICAO codes of the airlines Skyscanner covers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_carriersArguments","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/find_nearest_flight_places":{"post":{"operationId":"find_nearest_flight_places","summary":"Find the airports and cities nearest to a latitude and longitude, with entity id, parent id, name, type, IATA code and c","description":"Find the airports and cities nearest to a latitude and longitude, with entity id, parent id, name, type, IATA code and coordinates. Use for \"Which airports are nearest to latitude 51.47 and longitude -0.45\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude of the point.","maximum":90,"minimum":-90,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude of the point.","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"locale":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":"en-US","description":"Locale for place names, such as en-US.","title":"Locale"}},"required":["latitude","longitude"],"title":"find_nearest_flight_placesArguments","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}}}}