{"openapi":"3.1.0","info":{"title":"OpenCage (BYOK) API","version":"0.1.0","description":"OpenCage (BYOK) lets an AI assistant read your own OpenCage data through the OpenCage API with a key you supply (API key). Read-only: 3 tools (geocode_address, reverse_geocode, get_timezone_of_place). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to api.opencagedata.com. Unofficial connector by Unify Dynamics...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-opencagedata.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-opencagedata/docs"},"termsOfService":"https://connectorbay.com/byok-opencagedata/terms"},"servers":[{"url":"https://byok-opencagedata.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-opencagedata/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/geocode_address":{"post":{"operationId":"geocode_address","summary":"Convert an address or place name to latitude and longitude, with the formatted address, address components, a confidence","description":"Convert an address or place name to latitude and longitude, with the formatted address, address components, a confidence score from 0 to 10 and the time zone. Returns up to 100 candidates. Use for \"What are the coordinates of the Brandenburg Gate in Berlin\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"q":{"description":"Address or place name to look up, for example 'Brandenburger Tor, Berlin'.","maxLength":300,"title":"Q","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum number of candidates, 1 to 100 (provider default 10).","title":"Limit"},"countrycode":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Restrict results to these ISO 3166-1 alpha-2 country codes, comma-separated, for example 'de' or 'de,at'.","title":"Countrycode"},"bounds":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Restrict results to a box given as 'min_lon,min_lat,max_lon,max_lat'.","title":"Bounds"},"proximity":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Prefer results near this point, given as 'lat,lon'.","title":"Proximity"},"language":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"IETF language code for the result text, for example 'en', 'de' or 'fr'; 'native' for each place's local language.","title":"Language"},"no_annotations":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to leave out the extra annotations (time zone and others) for a smaller answer.","title":"No Annotations"}},"required":["q"],"title":"geocode_addressArguments","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/reverse_geocode":{"post":{"operationId":"reverse_geocode","summary":"Convert a latitude and longitude to the nearest address or place, with formatted address, components and time zone. Use ","description":"Convert a latitude and longitude to the nearest address or place, with formatted address, components and time zone. Use for \"What address is at latitude 51.9526 and longitude 7.6325\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"q":{"description":"Coordinates as 'latitude,longitude' in decimal degrees, for example '51.9526,7.6325'.","maxLength":40,"title":"Q","type":"string"},"language":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"IETF language code for the result text, for example 'en', 'de' or 'fr'; 'native' for each place's local language.","title":"Language"},"no_annotations":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to leave out the extra annotations (time zone and others) for a smaller answer.","title":"No Annotations"},"roadinfo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to snap to the nearest road and add road details.","title":"Roadinfo"}},"required":["q"],"title":"reverse_geocodeArguments","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_timezone_of_place":{"post":{"operationId":"get_timezone_of_place","summary":"Find the time zone name, UTC offset and daylight-saving state of a place, given an address, place name or 'latitude,long","description":"Find the time zone name, UTC offset and daylight-saving state of a place, given an address, place name or 'latitude,longitude'. Use for \"What time zone is Pune, India in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"q":{"description":"Place name, address or 'latitude,longitude' coordinates, for example 'Pune, India'.","maxLength":300,"title":"Q","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"How many candidates to return, 1 to 100.","title":"Limit"}},"required":["q"],"title":"get_timezone_of_placeArguments","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}}}}