{"openapi":"3.1.0","info":{"title":"Azure Maps Routes and Time (BYOK) API","version":"0.1.0","description":"Azure Maps Routes and Time (BYOK) lets an AI assistant read your own Azure Maps Routes and Time data through the Azure Maps Routes and Time API with a key you supply (Azure Maps account subscription key (primary or secondary)). Read-only: 7 tools (get_route, get_reachable_range, get_traffic_flow_segment, list_iana_time_zones, list_windows_time_zones, convert_windows_to_iana, get_iana_version)....\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-azure-maps-routes.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-azure-maps-routes/docs"},"termsOfService":"https://connectorbay.com/byok-azure-maps-routes/terms"},"servers":[{"url":"https://byok-azure-maps-routes.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-azure-maps-routes/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_route":{"post":{"operationId":"get_route","summary":"Calculate a route between an origin, optional waypoints and a destination and return the distance, travel time, traffic ","description":"Calculate a route between an origin, optional waypoints and a destination and return the distance, travel time, traffic delay, departure and arrival time and the route sections (traffic, tolls, ferries). The line geometry is left out. Use for \"How long does it take to drive from 47.60,-122.33 to 47.64,-122.13\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Waypoints as 'lat,lon:lat,lon' separated by colons, origin first and destination last, for example '47.60,-122.33:47.64,-122.13'.","maxLength":1500,"title":"Query","type":"string"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps API version (fixed).","title":"Api Version"},"route_type":{"anyOf":[{"enum":["fastest","shortest","eco","thrilling"],"type":"string"},{"type":"null"}],"default":null,"description":"Route preference (default fastest).","title":"Route Type"},"travel_mode":{"anyOf":[{"enum":["car","truck","taxi","bus","van","motorcycle"],"type":"string"},{"type":"null"}],"default":null,"description":"Mode of travel (default car).","title":"Travel Mode"},"traffic":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"False to ignore live traffic (default true).","title":"Traffic"},"avoid":{"anyOf":[{"enum":["tollRoads","motorways","ferries","unpavedRoads","carpools","alreadyUsedRoads","borderCrossings"],"type":"string"},{"type":"null"}],"default":null,"description":"Something to avoid: tollRoads, motorways, ferries, unpavedRoads, carpools, alreadyUsedRoads, borderCrossings.","title":"Avoid"},"depart_at":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Departure time in RFC 3339, for example 2026-10-21T08:00:00-07:00 (cannot be combined with arrive_at).","title":"Depart At"},"arrive_at":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Arrival time in RFC 3339 (cannot be combined with depart_at).","title":"Arrive At"},"max_alternatives":{"anyOf":[{"maximum":5,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Number of alternative routes to return in addition to the best one (0 to 5).","title":"Max Alternatives"},"route_representation":{"anyOf":[{"enum":["summaryOnly","none"],"type":"string"},{"type":"null"}],"default":"summaryOnly","description":"Keep summaryOnly (default here) to avoid the long line geometry.","title":"Route Representation"},"compute_travel_time_for":{"anyOf":[{"enum":["none","all"],"type":"string"},{"type":"null"}],"default":null,"description":"'all' adds travel times without traffic, with historic traffic and with live incidents.","title":"Compute Travel Time For"}},"required":["query"],"title":"get_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}},"/v1/tools/get_reachable_range":{"post":{"operationId":"get_reachable_range","summary":"Calculate the area reachable from a point within a time or distance budget and return its boundary polygon points. Use f","description":"Calculate the area reachable from a point within a time or distance budget and return its boundary polygon points. Use for \"What area can I reach by car in 15 minutes from 47.60,-122.33\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Starting point as 'latitude,longitude', for example '47.60,-122.33'.","maxLength":40,"title":"Query","type":"string"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps API version (fixed).","title":"Api Version"},"time_budget_in_sec":{"anyOf":[{"minimum":1,"type":"number"},{"type":"null"}],"default":null,"description":"Time budget in seconds, for example 900 (give exactly one budget).","title":"Time Budget In Sec"},"distance_budget_in_meters":{"anyOf":[{"minimum":1,"type":"number"},{"type":"null"}],"default":null,"description":"Distance budget in meters, for example 10000 (give exactly one budget).","title":"Distance Budget In Meters"},"route_type":{"anyOf":[{"enum":["fastest","shortest","eco","thrilling"],"type":"string"},{"type":"null"}],"default":null,"description":"Route preference (default fastest).","title":"Route Type"},"travel_mode":{"anyOf":[{"enum":["car","truck","taxi","bus","van","motorcycle"],"type":"string"},{"type":"null"}],"default":null,"description":"Mode of travel (default car).","title":"Travel Mode"},"traffic":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"False to ignore live traffic (default true).","title":"Traffic"},"avoid":{"anyOf":[{"enum":["tollRoads","motorways","ferries","unpavedRoads","carpools","alreadyUsedRoads","borderCrossings"],"type":"string"},{"type":"null"}],"default":null,"description":"Something to avoid: tollRoads, motorways, ferries, unpavedRoads, carpools, alreadyUsedRoads, borderCrossings.","title":"Avoid"},"depart_at":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Departure time in RFC 3339, for example 2026-10-21T08:00:00-07:00.","title":"Depart At"}},"required":["query"],"title":"get_reachable_rangeArguments","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_traffic_flow_segment":{"post":{"operationId":"get_traffic_flow_segment","summary":"Current and free-flow speed and travel time of the road segment closest to a point, with a confidence value, to see how ","description":"Current and free-flow speed and travel time of the road segment closest to a point, with a confidence value, to see how congested it is. Use for \"How congested is the road at 47.6097,-122.3331 right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"A point close to the road, as 'latitude,longitude', for example '47.6097,-122.3331'.","maxLength":40,"title":"Query","type":"string"},"style":{"description":"Style used to measure speed (absolute is the usual choice).","enum":["absolute","relative","relative-delay"],"title":"Style","type":"string"},"zoom":{"description":"Zoom level that sets the road class detail, 0 to 22 (10 is a good default).","maximum":22,"minimum":0,"title":"Zoom","type":"integer"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps API version (fixed).","title":"Api Version"},"unit":{"anyOf":[{"enum":["KMPH","MPH"],"type":"string"},{"type":"null"}],"default":null,"description":"Speed unit: KMPH or MPH.","title":"Unit"}},"required":["query","style","zoom"],"title":"get_traffic_flow_segmentArguments","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_iana_time_zones":{"post":{"operationId":"list_iana_time_zones","summary":"List all IANA time zone ids (for example Europe/Paris), flagging aliases and what they alias. Use for \"Which IANA time z","description":"List all IANA time zone ids (for example Europe/Paris), flagging aliases and what they alias. Use for \"Which IANA time zone ids exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Timezone API version (fixed).","title":"Api Version"}},"title":"list_iana_time_zonesArguments","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_windows_time_zones":{"post":{"operationId":"list_windows_time_zones","summary":"List all Windows time zone ids with their territory and the IANA ids they map to. Use for \"Which Windows time zone ids e","description":"List all Windows time zone ids with their territory and the IANA ids they map to. Use for \"Which Windows time zone ids exist and what are their IANA equivalents\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Timezone API version (fixed).","title":"Api Version"}},"title":"list_windows_time_zonesArguments","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/convert_windows_to_iana":{"post":{"operationId":"convert_windows_to_iana","summary":"Convert a Windows time zone id to the matching IANA ids, optionally narrowed by territory. Use for \"What is the IANA id ","description":"Convert a Windows time zone id to the matching IANA ids, optionally narrowed by territory. Use for \"What is the IANA id for the Windows time zone 'Pacific Standard Time'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Windows time zone id, for example 'Pacific Standard Time'.","maxLength":80,"title":"Query","type":"string"},"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Timezone API version (fixed).","title":"Api Version"},"territory":{"anyOf":[{"maxLength":5,"type":"string"},{"type":"null"}],"default":null,"description":"Territory code to narrow the answer, for example CA.","title":"Territory"}},"required":["query"],"title":"convert_windows_to_ianaArguments","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_iana_version":{"post":{"operationId":"get_iana_version","summary":"Show the version of the IANA time zone database the service currently uses. Use for \"Which IANA time zone database versi","description":"Show the version of the IANA time zone database the service currently uses. Use for \"Which IANA time zone database version does Azure Maps use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"api_version":{"anyOf":[{"const":"1.0","type":"string"},{"type":"null"}],"default":"1.0","description":"Azure Maps Timezone API version (fixed).","title":"Api Version"}},"title":"get_iana_versionArguments","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}}}}