{"openapi":"3.1.0","info":{"title":"Abstract Exchange Rates (BYOK) API","version":"0.1.0","description":"Abstract Exchange Rates (BYOK) lets an AI assistant read your own Abstract Exchange Rates data through the Abstract Exchange Rates API with a key you supply (Abstract Exchange Rates API key). Read-only: 3 tools (get_live_rates, convert_currency, get_historical_rates). 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...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-abstractexchange.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-abstractexchange/docs"},"termsOfService":"https://connectorbay.com/byok-abstractexchange/terms"},"servers":[{"url":"https://byok-abstractexchange.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-abstractexchange/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_live_rates":{"post":{"operationId":"get_live_rates","summary":"Get the most recent exchange rates from a base currency to one, several or all supported currencies, with the update tim","description":"Get the most recent exchange rates from a base currency to one, several or all supported currencies, with the update time. Each call counts against the plan's request quota. Use for \"What is the current USD to EUR and GBP exchange rate\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"base":{"description":"Base currency as an ISO 4217 code such as 'USD' (also BTC and ETH style crypto codes in the supported list).","maxLength":5,"title":"Base","type":"string"},"target":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Target currency code, for example 'EUR'. Several codes may be comma separated; leave empty to get all supported currencies.","title":"Target"}},"required":["base"],"title":"get_live_ratesArguments","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_currency":{"post":{"operationId":"convert_currency","summary":"Convert an amount from a base currency to a target currency at the latest rate, or at the rate of a past date. Use for \"","description":"Convert an amount from a base currency to a target currency at the latest rate, or at the rate of a past date. Use for \"How much is 250 US dollars in euros today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"base":{"description":"Base currency as an ISO 4217 code such as 'USD' (also BTC and ETH style crypto codes in the supported list).","maxLength":5,"title":"Base","type":"string"},"target":{"description":"Target currency code to convert into, for example 'EUR' (exactly one).","maxLength":5,"title":"Target","type":"string"},"base_amount":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Amount of the base currency to convert (default 1).","title":"Base Amount"},"date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Past date to use the rate of, as YYYY-MM-DD; default is the latest rate.","title":"Date"}},"required":["base","target"],"title":"convert_currencyArguments","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_historical_rates":{"post":{"operationId":"get_historical_rates","summary":"Get the exchange rates of a past day from a base currency to one, several or all supported currencies (a beta endpoint).","description":"Get the exchange rates of a past day from a base currency to one, several or all supported currencies (a beta endpoint). Use for \"What was the USD to JPY exchange rate on 2024-01-01\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"base":{"description":"Base currency as an ISO 4217 code such as 'USD' (also BTC and ETH style crypto codes in the supported list).","maxLength":5,"title":"Base","type":"string"},"date":{"description":"Day of the rates, as YYYY-MM-DD.","maxLength":10,"title":"Date","type":"string"},"target":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Target currency code, for example 'EUR'. Several codes may be comma separated; leave empty to get all supported currencies.","title":"Target"}},"required":["base","date"],"title":"get_historical_ratesArguments","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}}}}