{"openapi":"3.1.0","info":{"title":"CheckWX (BYOK) API","version":"0.1.0","description":"CheckWX (BYOK) lets an AI assistant read your own CheckWX data through the CheckWX API with a key you supply (CheckWX API key). Read-only: 9 tools (get_metar, nearest_metars_to_airport, metars_within_radius_of_airport, metars_near_coordinates, get_taf, get_gairmet_for_airport, get_station, stations_within_radius_of_airport, stations_near_coordinates). The BYOK key travels with each request, is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-checkwx.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-checkwx/docs"},"termsOfService":"https://connectorbay.com/byok-checkwx/terms"},"servers":[{"url":"https://byok-checkwx.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-checkwx/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/get_metar":{"post":{"operationId":"get_metar","summary":"Get the latest decoded METAR observation for one or more airports (up to 25 ICAO codes): flight category, wind, visibili","description":"Get the latest decoded METAR observation for one or more airports (up to 25 ICAO codes): flight category, wind, visibility, temperature, pressure and clouds. Use for \"What is the current weather at KJFK and KLAX\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"icao":{"description":"One ICAO airport code such as 'KJFK', or up to 25 codes separated by commas such as 'KJFK,KDFW,KMIA'.","maxLength":200,"title":"Icao","type":"string"}},"required":["icao"],"title":"get_metarArguments","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/nearest_metars_to_airport":{"post":{"operationId":"nearest_metars_to_airport","summary":"Get decoded METARs from the stations nearest to an airport, with distance and direction in the decoded fields. Use for \"","description":"Get decoded METARs from the stations nearest to an airport, with distance and direction in the decoded fields. Use for \"Which weather stations near KJFK report right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"icao":{"description":"A single ICAO airport or station code, for example 'KJFK'.","maxLength":200,"title":"Icao","type":"string"},"limit":{"anyOf":[{"maximum":25,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"How many stations to return (1 to 25, default 1).","title":"Limit"},"include":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include the starting station itself in the results.","title":"Include"}},"required":["icao"],"title":"nearest_metars_to_airportArguments","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/metars_within_radius_of_airport":{"post":{"operationId":"metars_within_radius_of_airport","summary":"Get decoded METARs within a radius in miles (1 to 250) of an airport, nearest first. Use for \"Show weather reports withi","description":"Get decoded METARs within a radius in miles (1 to 250) of an airport, nearest first. Use for \"Show weather reports within 50 miles of KJFK\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"icao":{"description":"A single ICAO airport or station code, for example 'KJFK'.","maxLength":200,"title":"Icao","type":"string"},"radius":{"description":"Search radius in miles (1 to 250).","maximum":250,"minimum":1,"title":"Radius","type":"integer"},"limit":{"anyOf":[{"maximum":25,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many stations to return (1 to 25, default 10).","title":"Limit"},"include":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include the starting station itself in the results.","title":"Include"}},"required":["icao","radius"],"title":"metars_within_radius_of_airportArguments","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/metars_near_coordinates":{"post":{"operationId":"metars_near_coordinates","summary":"Get decoded METARs from the stations nearest to a latitude and longitude. Use for \"What is the airport weather nearest 4","description":"Get decoded METARs from the stations nearest to a latitude and longitude. Use for \"What is the airport weather nearest 40.72, -73.99\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees (-90 to 90).","maximum":90,"minimum":-90,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees (-180 to 180).","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"limit":{"anyOf":[{"maximum":25,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many stations to return (1 to 25, default 10).","title":"Limit"}},"required":["latitude","longitude"],"title":"metars_near_coordinatesArguments","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_taf":{"post":{"operationId":"get_taf","summary":"Get the latest decoded TAF forecast for one or more airports (up to 25 ICAO codes), split into time segments with wind, ","description":"Get the latest decoded TAF forecast for one or more airports (up to 25 ICAO codes), split into time segments with wind, visibility and clouds. Use for \"What is the forecast for Tampa airport KTPA\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"icao":{"description":"One ICAO airport code such as 'KJFK', or up to 25 codes separated by commas such as 'KJFK,KDFW,KMIA'.","maxLength":200,"title":"Icao","type":"string"}},"required":["icao"],"title":"get_tafArguments","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_gairmet_for_airport":{"post":{"operationId":"get_gairmet_for_airport","summary":"List active G-AIRMET polygons (US advisories for turbulence, icing, IFR and mountain obscuration) that contain an airpor","description":"List active G-AIRMET polygons (US advisories for turbulence, icing, IFR and mountain obscuration) that contain an airport, in short form. Use for \"Are any G-AIRMET advisories active over KTPA\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"icao":{"description":"A single ICAO airport or station code, for example 'KJFK'.","maxLength":200,"title":"Icao","type":"string"}},"required":["icao"],"title":"get_gairmet_for_airportArguments","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_station":{"post":{"operationId":"get_station","summary":"Get airport or weather-station details by ICAO code (up to 25): names, codes, location, elevation and time zone. Use for","description":"Get airport or weather-station details by ICAO code (up to 25): names, codes, location, elevation and time zone. Use for \"Give me the details of airport KJFK\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"icao":{"description":"One ICAO airport code such as 'KJFK', or up to 25 codes separated by commas such as 'KJFK,KDFW,KMIA'.","maxLength":200,"title":"Icao","type":"string"}},"required":["icao"],"title":"get_stationArguments","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/stations_within_radius_of_airport":{"post":{"operationId":"stations_within_radius_of_airport","summary":"List stations within a radius in miles (1 to 250) of an airport, nearest first, optionally only one station type. Use fo","description":"List stations within a radius in miles (1 to 250) of an airport, nearest first, optionally only one station type. Use for \"Which heliports are within 100 miles of KJFK\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"icao":{"description":"A single ICAO airport or station code, for example 'KJFK'.","maxLength":200,"title":"Icao","type":"string"},"radius":{"description":"Search radius in miles (1 to 250).","maximum":250,"minimum":1,"title":"Radius","type":"integer"},"filter":{"anyOf":[{"enum":["A","B","H","S"],"type":"string"},{"type":"null"}],"default":null,"description":"Station type filter: A airport, B balloonport, H heliport, S seaplane base.","title":"Filter"},"limit":{"anyOf":[{"maximum":25,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"How many stations to return (1 to 25, default 1).","title":"Limit"},"include":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include the starting station itself in the results.","title":"Include"}},"required":["icao","radius"],"title":"stations_within_radius_of_airportArguments","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/stations_near_coordinates":{"post":{"operationId":"stations_near_coordinates","summary":"Find the station nearest to a latitude and longitude, or several up to a limit. Use for \"What airport is closest to 40.7","description":"Find the station nearest to a latitude and longitude, or several up to a limit. Use for \"What airport is closest to 40.72, -73.99\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees (-90 to 90).","maximum":90,"minimum":-90,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees (-180 to 180).","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"filter":{"anyOf":[{"enum":["A","B","H","S"],"type":"string"},{"type":"null"}],"default":null,"description":"Station type filter: A airport, B balloonport, H heliport, S seaplane base.","title":"Filter"},"limit":{"anyOf":[{"maximum":25,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"How many stations to return (1 to 25, default 1).","title":"Limit"}},"required":["latitude","longitude"],"title":"stations_near_coordinatesArguments","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}}}}