{"openapi":"3.1.0","info":{"title":"Wise (BYOK) API","version":"0.1.0","description":"Wise (BYOK) lets an AI assistant read your own Wise data through the Wise API with a key you supply (Wise personal API token (created in a Wise business account; some endpoints may need extra approval by region)). Read-only: 9 tools (get_current_user, list_profiles, list_balances, get_balance, list_transfers, list_activities, get_exchange_rate, get_rate_history, list_currencies). The BYOK key...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-wise.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-wise/docs"},"termsOfService":"https://connectorbay.com/byok-wise/terms"},"servers":[{"url":"https://byok-wise.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-wise/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_current_user":{"post":{"operationId":"get_current_user","summary":"Show the Wise user the token belongs to: id, name, email and active flag. Use for \"Which Wise user is my API token for\".","description":"Show the Wise user the token belongs to: id, name, email and active flag. Use for \"Which Wise user is my API token for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_current_userArguments","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_profiles":{"post":{"operationId":"list_profiles","summary":"List the Wise profiles (personal and business) of the token's user with type, name, state and country. Profile IDs are n","description":"List the Wise profiles (personal and business) of the token's user with type, name, state and country. Profile IDs are needed by the balance, transfer and activity tools. Use for \"What Wise profiles do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_profilesArguments","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_balances":{"post":{"operationId":"list_balances","summary":"List the currency balances of one profile: available, reserved and total amounts per currency. Amounts are objects with ","description":"List the currency balances of one profile: available, reserved and total amounts per currency. Amounts are objects with value and currency. Use for \"How much money do I hold in each currency on Wise\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile_id":{"description":"Numeric Wise profile ID (the id field from list_profiles).","title":"Profile Id","type":"integer"},"types":{"description":"Comma-separated balance types: STANDARD, SAVINGS (at least one).","enum":["STANDARD","SAVINGS","STANDARD,SAVINGS"],"title":"Types","type":"string"}},"required":["profile_id","types"],"title":"list_balancesArguments","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_balance":{"post":{"operationId":"get_balance","summary":"Get one balance of a profile with available, reserved, cash and total worth amounts. Use for \"What is my Wise EUR balanc","description":"Get one balance of a profile with available, reserved, cash and total worth amounts. Use for \"What is my Wise EUR balance\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile_id":{"description":"Numeric Wise profile ID (the id field from list_profiles).","title":"Profile Id","type":"integer"},"balance_id":{"description":"Numeric balance ID (the id field from list_balances).","title":"Balance Id","type":"integer"}},"required":["profile_id","balance_id"],"title":"get_balanceArguments","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_transfers":{"post":{"operationId":"list_transfers","summary":"List transfers (money sent) of a profile with status, reference, source and target amounts, rate and creation time. Filt","description":"List transfers (money sent) of a profile with status, reference, source and target amounts, rate and creation time. Filters by status, currencies and creation date. Use for \"What Wise transfers did I make last month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile":{"anyOf":[{"maximum":2000000000000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Wise profile ID; the personal profile when omitted.","title":"Profile"},"status":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated transfer status codes, for example 'funds_converted,outgoing_payment_sent'.","title":"Status"},"source_currency":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Only transfers sent in this currency (ISO 4217 currency code such as EUR, USD or GBP.).","title":"Source Currency"},"target_currency":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Only transfers received in this currency (ISO 4217 currency code such as EUR, USD or GBP.).","title":"Target Currency"},"created_date_start":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only transfers created on or after this date or time, for example 2026-09-01 or 2026-09-01T00:00:00.000Z.","title":"Created Date Start"},"created_date_end":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only transfers created up to this date or time.","title":"Created Date End"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum number of transfers to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip, for paging.","title":"Offset"}},"title":"list_transfersArguments","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_activities":{"post":{"operationId":"list_activities","summary":"List the activity feed of a profile (payments, conversions, card spending, fees) with title, amounts, status and time. U","description":"List the activity feed of a profile (payments, conversions, card spending, fees) with title, amounts, status and time. Up to 100 per page; pass the returned cursor for more. Use for \"What recent activity is on my Wise account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile_id":{"description":"Numeric Wise profile ID (the id field from list_profiles).","title":"Profile Id","type":"integer"},"status":{"anyOf":[{"enum":["REQUIRES_ATTENTION","IN_PROGRESS","UPCOMING","COMPLETED","CANCELLED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only activities with this status.","title":"Status"},"since":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only activities after this ISO 8601 time.","title":"Since"},"until":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only activities before this ISO 8601 time.","title":"Until"},"next_cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor returned as 'cursor' by the previous call; leave empty for the first page.","title":"Next Cursor"},"size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Activities per page (1 to 100; provider default 10).","title":"Size"}},"required":["profile_id"],"title":"list_activitiesArguments","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_exchange_rate":{"post":{"operationId":"get_exchange_rate","summary":"Get the current Wise mid-market exchange rate for a currency pair, or the rate at one past time. Use for \"What is the Wi","description":"Get the current Wise mid-market exchange rate for a currency pair, or the rate at one past time. Use for \"What is the Wise exchange rate from EUR to USD right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"source":{"description":"Currency to convert from (ISO 4217 currency code such as EUR, USD or GBP.).","maxLength":3,"title":"Source","type":"string"},"target":{"description":"Currency to convert to (ISO 4217 currency code such as EUR, USD or GBP.).","maxLength":3,"title":"Target","type":"string"},"time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Optional past moment as a timestamp with date and time, for example 2026-09-01T12:00:00.","title":"Time"}},"required":["source","target"],"title":"get_exchange_rateArguments","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_rate_history":{"post":{"operationId":"get_rate_history","summary":"Get a currency pair's exchange rate history between two dates, grouped by day, hour or minute. Use for \"Show the EUR to ","description":"Get a currency pair's exchange rate history between two dates, grouped by day, hour or minute. Use for \"Show the EUR to USD rate each day last week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"source":{"description":"Currency to convert from (ISO 4217 currency code such as EUR, USD or GBP.).","maxLength":3,"title":"Source","type":"string"},"target":{"description":"Currency to convert to (ISO 4217 currency code such as EUR, USD or GBP.).","maxLength":3,"title":"Target","type":"string"},"from_time":{"description":"Start of the period, a date (2026-09-01) or timestamp.","maxLength":30,"title":"From Time","type":"string"},"to_time":{"description":"End of the period, a date or timestamp.","maxLength":30,"title":"To Time","type":"string"},"group":{"anyOf":[{"enum":["day","hour","minute"],"type":"string"},{"type":"null"}],"default":"day","description":"Interval of the history: day, hour or minute.","title":"Group"}},"required":["source","target","from_time","to_time"],"title":"get_rate_historyArguments","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_currencies":{"post":{"operationId":"list_currencies","summary":"List the currencies Wise supports for transfers with code, name and symbol. Use for \"Which currencies can I send with Wi","description":"List the currencies Wise supports for transfers with code, name and symbol. Use for \"Which currencies can I send with Wise\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_currenciesArguments","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}}}}