{"openapi":"3.1.0","info":{"title":"Wave Business (BYOK) API","version":"0.1.0","description":"Wave Business (BYOK) lets an AI assistant read your own Wave Business data through the Wave Business API with a key you supply (Wave Business API key (read access to balance, checkout and payout APIs; request signing must be off)). Read-only: 7 tools (get_balance, list_transactions, get_checkout_session, get_checkout_by_transaction_id, search_checkouts, get_payout, search_payouts). The BYOK key...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-wave-business.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-wave-business/docs"},"termsOfService":"https://connectorbay.com/byok-wave-business/terms"},"servers":[{"url":"https://byok-wave-business.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-wave-business/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_balance":{"post":{"operationId":"get_balance","summary":"Get the current balance of the business wallet the key is bound to, as an amount string with its currency. Optionally in","description":"Get the current balance of the business wallet the key is bound to, as an amount string with its currency. Optionally includes readable subaccounts. Use for \"What is my Wave business wallet balance\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"include_subaccounts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to add the balances of readable subaccounts (such as cashiers) to the total.","title":"Include Subaccounts"}},"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_transactions":{"post":{"operationId":"list_transactions","summary":"List wallet transactions for one day, oldest first, with type, amount, fee, running balance and counterparty name. Retur","description":"List wallet transactions for one day, oldest first, with type, amount, fee, running balance and counterparty name. Returns up to 1000 per page; pass the end cursor to continue. Use for \"Show my Wave transactions for 2026-10-15\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Day to fetch, YYYY-MM-DD; leave empty for the current day.","title":"Date"},"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from page_info.end_cursor of the previous page, to fetch the next page.","title":"After"},"include_subaccounts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include transactions of readable subaccounts.","title":"Include Subaccounts"}},"title":"list_transactionsArguments","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_checkout_session":{"post":{"operationId":"get_checkout_session","summary":"Get one checkout session by id: amount, currency, checkout and payment status, client reference, transaction id and time","description":"Get one checkout session by id: amount, currency, checkout and payment status, client reference, transaction id and timestamps. Use for \"What is the status of Wave checkout cos-18qq25rgr100a\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"checkout_id":{"description":"Checkout session id, starting with 'cos-'.","maxLength":200,"title":"Checkout Id","type":"string"}},"required":["checkout_id"],"title":"get_checkout_sessionArguments","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_checkout_by_transaction_id":{"post":{"operationId":"get_checkout_by_transaction_id","summary":"Find the checkout session that produced a given Wave transaction id. Use for \"Which Wave checkout belongs to transaction","description":"Find the checkout session that produced a given Wave transaction id. Use for \"Which Wave checkout belongs to transaction TDH5TEWTLFE\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"transaction_id":{"description":"Wave transaction id to look up, for example 'TDH5TEWTLFE'.","maxLength":200,"title":"Transaction Id","type":"string"}},"required":["transaction_id"],"title":"get_checkout_by_transaction_idArguments","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/search_checkouts":{"post":{"operationId":"search_checkouts","summary":"Search checkout sessions by the client reference your system supplied when creating them. Use for \"Find the Wave checkou","description":"Search checkout sessions by the client reference your system supplied when creating them. Use for \"Find the Wave checkouts for order reference 123456\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"client_reference":{"description":"Your own reference string stored on the checkout session.","maxLength":200,"title":"Client Reference","type":"string"}},"required":["client_reference"],"title":"search_checkoutsArguments","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_payout":{"post":{"operationId":"get_payout","summary":"Get the status of one payout by id: amount received, fee, status, client reference and time. Recipient name, phone and n","description":"Get the status of one payout by id: amount received, fee, status, client reference and time. Recipient name, phone and national id are not returned. Use for \"Did Wave payout pt-185sewgm8100t succeed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"payout_id":{"description":"Payout id, starting with 'pt-'.","maxLength":200,"title":"Payout Id","type":"string"}},"required":["payout_id"],"title":"get_payoutArguments","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/search_payouts":{"post":{"operationId":"search_payouts","summary":"Search payouts by the client reference your system supplied; the result list is empty when nothing matches. Recipient pe","description":"Search payouts by the client reference your system supplied; the result list is empty when nothing matches. Recipient personal details are not returned. Use for \"Find the Wave payouts with client reference FAH.4827.1734\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"client_reference":{"description":"Your own reference string stored on the payout.","maxLength":200,"title":"Client Reference","type":"string"}},"required":["client_reference"],"title":"search_payoutsArguments","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}}}}