{"openapi":"3.1.0","info":{"title":"Azure Maps Weather (BYOK) API","version":"0.1.0","description":"Azure Maps Weather (BYOK) lets an AI assistant read your own Azure Maps Weather data through the Azure Maps Weather API with a key you supply (Azure Maps account subscription key (primary or secondary)). Read-only: 7 tools (get_hourly_forecast, get_quarter_day_forecast, get_daily_forecast, get_minute_forecast, get_severe_weather_alerts, get_daily_indices, get_weather_along_route). The BYOK key...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-azure-maps-weather.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-azure-maps-weather/docs"},"termsOfService":"https://connectorbay.com/byok-azure-maps-weather/terms"},"servers":[{"url":"https://byok-azure-maps-weather.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-azure-maps-weather/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_hourly_forecast":{"post":{"operationId":"get_hourly_forecast","summary":"Hourly weather forecast for a location: temperature, feels-like temperature, humidity, wind, cloud cover and precipitati","description":"Hourly weather forecast for a location: temperature, feels-like temperature, humidity, wind, cloud cover and precipitation probability per hour. Longer ranges need the S1 pricing tier. Use for \"What is the hourly forecast for the next 12 hours at 47.64,-122.13\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Location as 'latitude,longitude', for example '47.641268,-122.125679'.","maxLength":40,"title":"Query","type":"string"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Weather API version (fixed).","title":"Api Version"},"unit":{"anyOf":[{"enum":["metric","imperial"],"type":"string"},{"type":"null"}],"default":null,"description":"Units of the answer: metric or imperial (default metric).","title":"Unit"},"language":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"IETF language tag for phrases, for example en-US or fr-FR (default en-US).","title":"Language"},"duration":{"anyOf":[{"enum":[1,12,24,72,120,240],"type":"integer"},{"type":"null"}],"default":1,"description":"Hours to cover: 1, 12, 24, 72, 120 or 240 (120 and 240 need S1; default 1).","title":"Duration"}},"required":["query"],"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_quarter_day_forecast":{"post":{"operationId":"get_quarter_day_forecast","summary":"Forecast in four daily periods (night, morning, afternoon, evening) for up to 15 days: temperature range, wind, cloud co","description":"Forecast in four daily periods (night, morning, afternoon, evening) for up to 15 days: temperature range, wind, cloud cover and precipitation. Up to 15 days needs the S1 tier. Use for \"What is the weather by part of day for the next 5 days at 47.64,-122.13\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Location as 'latitude,longitude', for example '47.641268,-122.125679'.","maxLength":40,"title":"Query","type":"string"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Weather API version (fixed).","title":"Api Version"},"unit":{"anyOf":[{"enum":["metric","imperial"],"type":"string"},{"type":"null"}],"default":null,"description":"Units of the answer: metric or imperial (default metric).","title":"Unit"},"language":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"IETF language tag for phrases, for example en-US or fr-FR (default en-US).","title":"Language"},"duration":{"anyOf":[{"enum":[1,5,10,15],"type":"integer"},{"type":"null"}],"default":1,"description":"Days to cover: 1, 5, 10 or 15 (default 1).","title":"Duration"}},"required":["query"],"title":"get_quarter_day_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_forecast":{"post":{"operationId":"get_daily_forecast","summary":"Daily weather forecast for a location with temperature range, hours of sun, air and pollen levels and day and night deta","description":"Daily weather forecast for a location with temperature range, hours of sun, air and pollen levels and day and night details. Ranges over 10 days need the S1 tier. Use for \"What is the 5-day forecast at 47.64,-122.13\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Location as 'latitude,longitude', for example '47.641268,-122.125679'.","maxLength":40,"title":"Query","type":"string"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Weather API version (fixed).","title":"Api Version"},"unit":{"anyOf":[{"enum":["metric","imperial"],"type":"string"},{"type":"null"}],"default":null,"description":"Units of the answer: metric or imperial (default metric).","title":"Unit"},"language":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"IETF language tag for phrases, for example en-US or fr-FR (default en-US).","title":"Language"},"duration":{"anyOf":[{"enum":[1,5,10,25,45],"type":"integer"},{"type":"null"}],"default":1,"description":"Days to cover: 1, 5, 10, 25 or 45 (25 and 45 need S1; default 1).","title":"Duration"}},"required":["query"],"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_minute_forecast":{"post":{"operationId":"get_minute_forecast","summary":"Minute-by-minute precipitation outlook for the next 120 minutes at a location: a short summary and phrases per interval.","description":"Minute-by-minute precipitation outlook for the next 120 minutes at a location: a short summary and phrases per interval. Use for \"Will it rain in the next two hours at 47.64,-122.13\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Location as 'latitude,longitude', for example '47.641268,-122.125679'.","maxLength":40,"title":"Query","type":"string"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Weather API version (fixed).","title":"Api Version"},"language":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"IETF language tag for phrases, for example en-US or fr-FR (default en-US).","title":"Language"},"interval":{"anyOf":[{"enum":[1,5,15],"type":"integer"},{"type":"null"}],"default":1,"description":"Minutes per interval: 1, 5 or 15 (default 1).","title":"Interval"}},"required":["query"],"title":"get_minute_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_severe_weather_alerts":{"post":{"operationId":"get_severe_weather_alerts","summary":"Active severe weather alerts (storms, wind, flooding, heat) for a location from government and commercial sources, with ","description":"Active severe weather alerts (storms, wind, flooding, heat) for a location from government and commercial sources, with level, category and description. Use for \"Are there severe weather alerts at 47.64,-122.13\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Location as 'latitude,longitude', for example '47.641268,-122.125679'.","maxLength":40,"title":"Query","type":"string"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Weather API version (fixed).","title":"Api Version"},"language":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"IETF language tag for phrases, for example en-US or fr-FR (default en-US).","title":"Language"},"details":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Set false to leave out the long area-specific alert text (default true).","title":"Details"}},"required":["query"],"title":"get_severe_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_daily_indices":{"post":{"operationId":"get_daily_indices","summary":"Daily lifestyle indices for a location such as running, outdoor activity, flight delays or sun burn, with value, categor","description":"Daily lifestyle indices for a location such as running, outdoor activity, flight delays or sun burn, with value, category and a short description. Use for \"What is the outdoor and running index today at 47.64,-122.13\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Location as 'latitude,longitude', for example '47.641268,-122.125679'.","maxLength":40,"title":"Query","type":"string"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Weather API version (fixed).","title":"Api Version"},"language":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"IETF language tag for phrases, for example en-US or fr-FR (default en-US).","title":"Language"},"duration":{"anyOf":[{"enum":[1,5,10,15],"type":"integer"},{"type":"null"}],"default":1,"description":"Days to cover: 1, 5, 10 or 15 (default 1).","title":"Duration"},"index_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only this numeric index id (cannot be combined with index_group_id).","title":"Index Id"},"index_group_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only this numeric index group id (cannot be combined with index_id).","title":"Index Group Id"}},"required":["query"],"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/get_weather_along_route":{"post":{"operationId":"get_weather_along_route","summary":"Weather conditions at waypoints of a planned drive: temperature, wind, precipitation, sun glare and hazards at each esti","description":"Weather conditions at waypoints of a planned drive: temperature, wind, precipitation, sun glare and hazards at each estimated arrival time. Use for \"What will the weather be along a short drive through Seattle\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Waypoints separated by colons, each 'latitude,longitude,minutes_from_now[,heading]', 2 to 60 waypoints, ETA 0 to 120 minutes, for example '47.60,-122.33,0:47.64,-122.13,30'.","maxLength":1500,"title":"Query","type":"string"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Weather API version (fixed).","title":"Api Version"},"language":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"IETF language tag for phrases, for example en-US or fr-FR (default en-US).","title":"Language"}},"required":["query"],"title":"get_weather_along_routeArguments","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}}}}