{"openapi":"3.1.0","info":{"title":"AccuWeather (BYOK) API","version":"0.1.0","description":"AccuWeather (BYOK) lets an AI assistant read your own AccuWeather data through the AccuWeather API with a key you supply (AccuWeather API key). Read-only: 12 tools (search_locations, search_by_coordinates, get_current_conditions, get_daily_forecast, get_hourly_forecast, get_weather_alerts, get_weather_alarms, get_daily_indices, list_index_definitions, list_active_tropical_storms,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-accuweather.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-accuweather/docs"},"termsOfService":"https://connectorbay.com/byok-accuweather/terms"},"servers":[{"url":"https://byok-accuweather.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-accuweather/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/search_locations":{"post":{"operationId":"search_locations","summary":"Search AccuWeather locations (cities and points of interest) by name and get their location keys, needed by all forecast","description":"Search AccuWeather locations (cities and points of interest) by name and get their location keys, needed by all forecast tools. Up to 25 results per page. Use for \"What is the AccuWeather location key for London\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"q":{"description":"City name or point of interest to search for, for example 'New York' or 'Pune, India'.","maxLength":100,"title":"Q","type":"string"},"offset":{"anyOf":[{"maximum":100,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Page index of 25-result sets: 0 is the first 25 results, 1 the next 25.","title":"Offset"},"language":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"en-us","description":"Language code such as en-us, es-es or de-de (default en-us).","title":"Language"}},"required":["q"],"title":"search_locationsArguments","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_by_coordinates":{"post":{"operationId":"search_by_coordinates","summary":"Find the AccuWeather location (and its location key) for a latitude and longitude. Use for \"Which AccuWeather location i","description":"Find the AccuWeather location (and its location key) for a latitude and longitude. Use for \"Which AccuWeather location is at 40.779,-73.969\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"q":{"description":"Coordinates as 'latitude,longitude' in decimal degrees, for example '40.779,-73.969'.","maxLength":40,"title":"Q","type":"string"},"top_level":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to return the larger parent city instead of a neighborhood.","title":"Top Level"},"language":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"en-us","description":"Language code such as en-us, es-es or de-de (default en-us).","title":"Language"}},"required":["q"],"title":"search_by_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_current_conditions":{"post":{"operationId":"get_current_conditions","summary":"Get the latest observation for a location: weather text, temperature and RealFeel, humidity, wind, UV index, visibility,","description":"Get the latest observation for a location: weather text, temperature and RealFeel, humidity, wind, UV index, visibility, cloud cover and pressure. Use for \"What is the weather right now in New York\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"location_key":{"description":"AccuWeather location key from search_locations or search_by_coordinates, for example '349727' (New York City).","maxLength":200,"title":"Location Key","type":"string"},"details":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include extended fields in the answer (the result is trimmed to the main fields either way).","title":"Details"},"language":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"en-us","description":"Language code such as en-us, es-es or de-de (default en-us).","title":"Language"}},"required":["location_key"],"title":"get_current_conditionsArguments","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 a daily forecast (1, 5, 7, 10 or 15 days) with headline, min and max temperature, RealFeel, sun and moon times and d","description":"Get a daily forecast (1, 5, 7, 10 or 15 days) with headline, min and max temperature, RealFeel, sun and moon times and day and night phrases. Longer ranges need a higher plan. Use for \"What is the 5-day forecast for New York\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"days":{"description":"Number of days: 1, 5, 7, 10 or 15 (availability depends on your plan).","enum":[1,5,7,10,15],"title":"Days","type":"integer"},"location_key":{"description":"AccuWeather location key from search_locations or search_by_coordinates, for example '349727' (New York City).","maxLength":200,"title":"Location Key","type":"string"},"metric":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"True for metric units (Celsius, km/h, mm), false for imperial.","title":"Metric"},"details":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include extended fields in the answer (the result is trimmed to the main fields either way).","title":"Details"},"language":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"en-us","description":"Language code such as en-us, es-es or de-de (default en-us).","title":"Language"}},"required":["days","location_key"],"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 an hour-by-hour forecast (1, 12, 24, 72 or 120 hours) with temperature, RealFeel, wind, humidity, UV and precipitati","description":"Get an hour-by-hour forecast (1, 12, 24, 72 or 120 hours) with temperature, RealFeel, wind, humidity, UV and precipitation probability. Longer ranges need a higher plan. Use for \"What will the hourly weather be in New York over the next 12 hours\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"hours":{"description":"Number of hours: 1, 12, 24, 72 or 120 (availability depends on your plan).","enum":[1,12,24,72,120],"title":"Hours","type":"integer"},"location_key":{"description":"AccuWeather location key from search_locations or search_by_coordinates, for example '349727' (New York City).","maxLength":200,"title":"Location Key","type":"string"},"metric":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"True for metric units (Celsius, km/h, mm), false for imperial.","title":"Metric"},"details":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include extended fields in the answer (the result is trimmed to the main fields either way).","title":"Details"},"language":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"en-us","description":"Language code such as en-us, es-es or de-de (default en-us).","title":"Language"}},"required":["hours","location_key"],"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_weather_alerts":{"post":{"operationId":"get_weather_alerts","summary":"List official severe weather warnings, watches and advisories currently in force for a location, with category, level, s","description":"List official severe weather warnings, watches and advisories currently in force for a location, with category, level, source and affected areas' validity times. Use for \"Are there any weather warnings for New York right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"location_key":{"description":"AccuWeather location key from search_locations or search_by_coordinates, for example '349727' (New York City).","maxLength":200,"title":"Location Key","type":"string"},"details":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include extended fields in the answer (the result is trimmed to the main fields either way).","title":"Details"},"language":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"en-us","description":"Language code such as en-us, es-es or de-de (default en-us).","title":"Language"}},"required":["location_key"],"title":"get_weather_alertsArguments","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_weather_alarms":{"post":{"operationId":"get_weather_alarms","summary":"List AccuWeather forecast-threshold alarms (for example heavy rain, snow or high wind expected) for the next 1, 5, 10 or","description":"List AccuWeather forecast-threshold alarms (for example heavy rain, snow or high wind expected) for the next 1, 5, 10 or 15 days; these are not official warnings. Use for \"Is any extreme weather expected in New York in the next 5 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"days":{"description":"Number of days: 1, 5, 10 or 15 (availability depends on your plan).","enum":[1,5,10,15],"title":"Days","type":"integer"},"location_key":{"description":"AccuWeather location key from search_locations or search_by_coordinates, for example '349727' (New York City).","maxLength":200,"title":"Location Key","type":"string"},"language":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"en-us","description":"Language code such as en-us, es-es or de-de (default en-us).","title":"Language"}},"required":["days","location_key"],"title":"get_weather_alarmsArguments","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_indices":{"post":{"operationId":"get_daily_indices","summary":"Get daily lifestyle and health index values (for example running, allergy or flu) for a location for the next 1, 5, 10 o","description":"Get daily lifestyle and health index values (for example running, allergy or flu) for a location for the next 1, 5, 10 or 15 days, optionally for one index group. Use for \"What is the running and allergy index in New York over the next 5 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"days":{"description":"Number of days: 1, 5, 10 or 15 (availability depends on your plan).","enum":[1,5,10,15],"title":"Days","type":"integer"},"location_key":{"description":"AccuWeather location key from search_locations or search_by_coordinates, for example '349727' (New York City).","maxLength":200,"title":"Location Key","type":"string"},"group_id":{"anyOf":[{"maximum":1000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Optional index group id (see list_index_definitions) to return only that group.","title":"Group Id"},"language":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"en-us","description":"Language code such as en-us, es-es or de-de (default en-us).","title":"Language"}},"required":["days","location_key"],"title":"get_daily_indicesArguments","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_index_definitions":{"post":{"operationId":"list_index_definitions","summary":"List the lifestyle and health indices AccuWeather offers, with index id, name and description (needs no location). Use f","description":"List the lifestyle and health indices AccuWeather offers, with index id, name and description (needs no location). Use for \"Which AccuWeather lifestyle indices exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"en-us","description":"Language code such as en-us, es-es or de-de (default en-us).","title":"Language"}},"title":"list_index_definitionsArguments","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_active_tropical_storms":{"post":{"operationId":"list_active_tropical_storms","summary":"List tropical cyclones that are active right now in all basins (government-issued), with name, basin and ids for details","description":"List tropical cyclones that are active right now in all basins (government-issued), with name, basin and ids for details. Use for \"Are there any active hurricanes or typhoons right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_active_tropical_stormsArguments","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_tropical_storms_by_year":{"post":{"operationId":"list_tropical_storms_by_year","summary":"List tropical storms recorded in a past season (optionally one basin) with name, basin, peak intensity and dates. Use fo","description":"List tropical storms recorded in a past season (optionally one basin) with name, basin, peak intensity and dates. Use for \"Which tropical storms formed in the Atlantic in 2024\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"year":{"description":"Four-digit season year, for example 2024.","maximum":2100,"minimum":1851,"title":"Year","type":"integer"},"basin":{"description":"Basin id: AL (Atlantic), EP (East Pacific), CP (Central Pacific), NP (North West Pacific), NI (North Indian), SI (South Indian), SP (South Pacific).","enum":["AL","EP","CP","NP","NI","SI","SP"],"title":"Basin","type":"string"}},"required":["year","basin"],"title":"list_tropical_storms_by_yearArguments","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_radar_satellite_images":{"post":{"operationId":"get_radar_satellite_images","summary":"Get links to recent radar and satellite map images around a location in one of three sizes (radar may be missing where n","description":"Get links to recent radar and satellite map images around a location in one of three sizes (radar may be missing where not covered). Use for \"Show me the radar and satellite images for New York\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"size":{"description":"Image size: 480x480, 640x480 or 1024x1024.","enum":["480x480","640x480","1024x1024"],"title":"Size","type":"string"},"location_key":{"description":"AccuWeather location key from search_locations or search_by_coordinates, for example '349727' (New York City).","maxLength":200,"title":"Location Key","type":"string"}},"required":["size","location_key"],"title":"get_radar_satellite_imagesArguments","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}}}}