{"openapi":"3.1.0","info":{"title":"Weatherbit (BYOK) API","version":"0.1.0","description":"Weatherbit (BYOK) lets an AI assistant read your own Weatherbit data through the Weatherbit API with a key you supply (API key). Read-only: 7 tools (get_current_weather, get_daily_forecast, get_hourly_forecast, get_daily_history, get_hourly_history, get_current_air_quality, get_air_quality_forecast). The BYOK key travels with each request, is used for that one call only and is never stored,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-weatherbit.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-weatherbit/docs"},"termsOfService":"https://connectorbay.com/byok-weatherbit/terms"},"servers":[{"url":"https://byok-weatherbit.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-weatherbit/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_current_weather":{"post":{"operationId":"get_current_weather","summary":"Get the latest observed weather at a latitude and longitude: temperature, feels-like, humidity, wind, pressure, cloud co","description":"Get the latest observed weather at a latitude and longitude: temperature, feels-like, humidity, wind, pressure, cloud cover, visibility, UV, precipitation, air quality index, sunrise, sunset and a weather description. Use for \"What is the weather right now at latitude 35.78, longitude -78.64\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"lat":{"description":"Latitude in decimal degrees, -90 to 90.","maximum":90,"minimum":-90,"title":"Lat","type":"number"},"lon":{"description":"Longitude in decimal degrees, -180 to 180.","maximum":180,"minimum":-180,"title":"Lon","type":"number"},"units":{"anyOf":[{"enum":["M","I","S"],"type":"string"},{"type":"null"}],"default":"M","description":"Unit system: M metric (Celsius, m/s, mm), I imperial (Fahrenheit, mph, inches) or S scientific (Kelvin, m/s, mm).","title":"Units"},"lang":{"anyOf":[{"maxLength":6,"type":"string"},{"type":"null"}],"default":null,"description":"Language code for weather descriptions, for example en, de, fr, es, it, nl, pl, ru, zh or zh-tw.","title":"Lang"}},"required":["lat","lon"],"title":"get_current_weatherArguments","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_daily_forecast":{"post":{"operationId":"get_daily_forecast","summary":"Get the daily forecast for up to 16 days at a latitude and longitude: high, low and mean temperature, precipitation amou","description":"Get the daily forecast for up to 16 days at a latitude and longitude: high, low and mean temperature, precipitation amount and chance, snow, wind, humidity, pressure, cloud cover, UV, sunrise and sunset, moon phase and a weather description. Use for \"What is the 7-day forecast at latitude 35.78, longitude -78.64\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"lat":{"description":"Latitude in decimal degrees, -90 to 90.","maximum":90,"minimum":-90,"title":"Lat","type":"number"},"lon":{"description":"Longitude in decimal degrees, -180 to 180.","maximum":180,"minimum":-180,"title":"Lon","type":"number"},"days":{"anyOf":[{"maximum":16,"minimum":1,"type":"integer"},{"type":"null"}],"default":16,"description":"How many days to return (1 to 16).","title":"Days"},"units":{"anyOf":[{"enum":["M","I","S"],"type":"string"},{"type":"null"}],"default":"M","description":"Unit system: M metric (Celsius, m/s, mm), I imperial (Fahrenheit, mph, inches) or S scientific (Kelvin, m/s, mm).","title":"Units"},"lang":{"anyOf":[{"maxLength":6,"type":"string"},{"type":"null"}],"default":null,"description":"Language code for weather descriptions, for example en, de, fr, es, it, nl, pl, ru, zh or zh-tw.","title":"Lang"}},"required":["lat","lon"],"title":"get_daily_forecastArguments","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_hourly_forecast":{"post":{"operationId":"get_hourly_forecast","summary":"Get the hourly forecast at a latitude and longitude (48 hours by default, up to 240 hours on plans that allow it): tempe","description":"Get the hourly forecast at a latitude and longitude (48 hours by default, up to 240 hours on plans that allow it): temperature, feels-like, precipitation chance and amount, wind, humidity, cloud cover, UV and a weather description per hour. Use for \"What is the hourly forecast for the next 24 hours at latitude 35.78, longitude -78.64\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"lat":{"description":"Latitude in decimal degrees, -90 to 90.","maximum":90,"minimum":-90,"title":"Lat","type":"number"},"lon":{"description":"Longitude in decimal degrees, -180 to 180.","maximum":180,"minimum":-180,"title":"Lon","type":"number"},"hours":{"anyOf":[{"maximum":240,"minimum":1,"type":"integer"},{"type":"null"}],"default":48,"description":"How many hours to return (default 48, maximum 240; more than 48 needs an eligible plan).","title":"Hours"},"units":{"anyOf":[{"enum":["M","I","S"],"type":"string"},{"type":"null"}],"default":"M","description":"Unit system: M metric (Celsius, m/s, mm), I imperial (Fahrenheit, mph, inches) or S scientific (Kelvin, m/s, mm).","title":"Units"},"lang":{"anyOf":[{"maxLength":6,"type":"string"},{"type":"null"}],"default":null,"description":"Language code for weather descriptions, for example en, de, fr, es, it, nl, pl, ru, zh or zh-tw.","title":"Lang"}},"required":["lat","lon"],"title":"get_hourly_forecastArguments","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_daily_history":{"post":{"operationId":"get_daily_history","summary":"Get observed daily weather between two dates at a latitude and longitude: mean, high and low temperature, precipitation,","description":"Get observed daily weather between two dates at a latitude and longitude: mean, high and low temperature, precipitation, snow, wind, pressure. Needs a Plus, Business or Enterprise plan; at most 15 days per call is returned. Use for \"What was the daily weather at latitude 35.78, longitude -78.64 from 2026-01-01 to 2026-01-10\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"lat":{"description":"Latitude in decimal degrees, -90 to 90.","maximum":90,"minimum":-90,"title":"Lat","type":"number"},"lon":{"description":"Longitude in decimal degrees, -180 to 180.","maximum":180,"minimum":-180,"title":"Lon","type":"number"},"start_date":{"description":"First day as YYYY-MM-DD (or YYYY-MM-DD:HH).","maxLength":13,"title":"Start Date","type":"string"},"end_date":{"description":"Last day as YYYY-MM-DD (or YYYY-MM-DD:HH).","maxLength":13,"title":"End Date","type":"string"},"units":{"anyOf":[{"enum":["M","I","S"],"type":"string"},{"type":"null"}],"default":"M","description":"Unit system: M metric (Celsius, m/s, mm), I imperial (Fahrenheit, mph, inches) or S scientific (Kelvin, m/s, mm).","title":"Units"},"lang":{"anyOf":[{"maxLength":6,"type":"string"},{"type":"null"}],"default":null,"description":"Language code for weather descriptions, for example en, de, fr, es, it, nl, pl, ru, zh or zh-tw.","title":"Lang"}},"required":["lat","lon","start_date","end_date"],"title":"get_daily_historyArguments","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_hourly_history":{"post":{"operationId":"get_hourly_history","summary":"Get observed hourly weather between two dates at a latitude and longitude: temperature, feels-like, humidity, precipitat","description":"Get observed hourly weather between two dates at a latitude and longitude: temperature, feels-like, humidity, precipitation, snow, wind, pressure, cloud cover and a weather description. Needs a Plus, Business or Enterprise plan; at most 10 days per call. Use for \"What was the hourly weather at latitude 35.78, longitude -78.64 on 2026-01-05\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"lat":{"description":"Latitude in decimal degrees, -90 to 90.","maximum":90,"minimum":-90,"title":"Lat","type":"number"},"lon":{"description":"Longitude in decimal degrees, -180 to 180.","maximum":180,"minimum":-180,"title":"Lon","type":"number"},"start_date":{"description":"First day as YYYY-MM-DD (or YYYY-MM-DD:HH).","maxLength":13,"title":"Start Date","type":"string"},"end_date":{"description":"Last day as YYYY-MM-DD (or YYYY-MM-DD:HH).","maxLength":13,"title":"End Date","type":"string"},"tz":{"anyOf":[{"enum":["utc","local"],"type":"string"},{"type":"null"}],"default":"utc","description":"Read the dates as utc or local time of the place.","title":"Tz"},"units":{"anyOf":[{"enum":["M","I","S"],"type":"string"},{"type":"null"}],"default":"M","description":"Unit system: M metric (Celsius, m/s, mm), I imperial (Fahrenheit, mph, inches) or S scientific (Kelvin, m/s, mm).","title":"Units"},"lang":{"anyOf":[{"maxLength":6,"type":"string"},{"type":"null"}],"default":null,"description":"Language code for weather descriptions, for example en, de, fr, es, it, nl, pl, ru, zh or zh-tw.","title":"Lang"}},"required":["lat","lon","start_date","end_date"],"title":"get_hourly_historyArguments","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_current_air_quality":{"post":{"operationId":"get_current_air_quality","summary":"Get current air quality at a latitude and longitude: AQI and carbon monoxide, sulphur dioxide, nitrogen dioxide, ozone, ","description":"Get current air quality at a latitude and longitude: AQI and carbon monoxide, sulphur dioxide, nitrogen dioxide, ozone, PM2.5 and PM10, plus mold and pollen levels where available (US and EU). Needs an Air Quality Business or Enterprise plan. Use for \"What is the air quality at latitude 35.78, longitude -78.64\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"lat":{"description":"Latitude in decimal degrees, -90 to 90.","maximum":90,"minimum":-90,"title":"Lat","type":"number"},"lon":{"description":"Longitude in decimal degrees, -180 to 180.","maximum":180,"minimum":-180,"title":"Lon","type":"number"}},"required":["lat","lon"],"title":"get_current_air_qualityArguments","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_air_quality_forecast":{"post":{"operationId":"get_air_quality_forecast","summary":"Get the hourly air quality forecast at a latitude and longitude: AQI and carbon monoxide, sulphur dioxide, nitrogen diox","description":"Get the hourly air quality forecast at a latitude and longitude: AQI and carbon monoxide, sulphur dioxide, nitrogen dioxide, ozone, PM2.5 and PM10. Needs an Air Quality Business or Enterprise plan. Use for \"What will the air quality be over the next day at latitude 35.78, longitude -78.64\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"lat":{"description":"Latitude in decimal degrees, -90 to 90.","maximum":90,"minimum":-90,"title":"Lat","type":"number"},"lon":{"description":"Longitude in decimal degrees, -180 to 180.","maximum":180,"minimum":-180,"title":"Lon","type":"number"},"hours":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many hours to return.","title":"Hours"}},"required":["lat","lon"],"title":"get_air_quality_forecastArguments","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}}}}