{"openapi":"3.1.0","info":{"title":"Khipu (BYOK) API","version":"0.1.0","description":"Khipu (BYOK) lets an AI assistant read your own Khipu data through the Khipu API with a key you supply (Khipu API key). Read-only: 5 tools (list_banks, get_payment, get_refund_wallet_balance, get_merchant_payment_methods, list_child_receivers). 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...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-khipu.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-khipu/docs"},"termsOfService":"https://connectorbay.com/byok-khipu/terms"},"servers":[{"url":"https://byok-khipu.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-khipu/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/list_banks":{"post":{"operationId":"list_banks","summary":"List the banks a payer can use with your Khipu collection account, with minimum amount, bank type (person or company) an","description":"List the banks a payer can use with your Khipu collection account, with minimum amount, bank type (person or company) and any bank-specific note. Use for \"Which banks can my customers pay from on Khipu, and what are the minimum amounts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_banksArguments","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_payment":{"post":{"operationId":"get_payment","summary":"Get one Khipu payment by id with status, status detail, amount, currency, subject, bank, conciliation date, expiry and i","description":"Get one Khipu payment by id with status, status detail, amount, currency, subject, bank, conciliation date, expiry and its refunds (payer name, email and tax id are not returned). Use for \"What is the status of Khipu payment gqzdy6chjne9\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Khipu payment id (12 alphanumeric characters) returned when the payment was created or sent in a notification.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_paymentArguments","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_refund_wallet_balance":{"post":{"operationId":"get_refund_wallet_balance","summary":"Get the balance of your Khipu refund wallet (refunds only go through while it holds more than the day's refunds). Needs ","description":"Get the balance of your Khipu refund wallet (refunds only go through while it holds more than the day's refunds). Needs the feature enabled by Khipu support. Use for \"How much is in my Khipu refund wallet\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_refund_wallet_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/get_merchant_payment_methods":{"post":{"operationId":"get_merchant_payment_methods","summary":"List the payment methods enabled for a Khipu collection account (for example simplified transfer, manual transfer). Use ","description":"List the payment methods enabled for a Khipu collection account (for example simplified transfer, manual transfer). Use for \"Which payment methods are enabled on my Khipu collection account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Collection account id (receiver_id) as a number, for example 985101.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_merchant_payment_methodsArguments","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_child_receivers":{"post":{"operationId":"list_child_receivers","summary":"List the collection accounts attached to an integrator (only for accounts with the integrator feature enabled by Khipu s","description":"List the collection accounts attached to an integrator (only for accounts with the integrator feature enabled by Khipu support). Use for \"Which child collection accounts do I manage on Khipu\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Records to skip for paging.","title":"Offset"},"max":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum records to return (1 to 100).","title":"Max"},"sort":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort the results by.","title":"Sort"},"order":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction (as the Khipu API accepts it).","title":"Order"}},"title":"list_child_receiversArguments","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}}}}