{"openapi":"3.1.0","info":{"title":"Payplug (BYOK) API","version":"0.1.0","description":"Payplug (BYOK) lets an AI assistant read your own Payplug data through the Payplug API with a key you supply (secret API key (sk_live_... or sk_test_...)). Read-only: 6 tools (list_payments, get_payment, list_payment_refunds, get_refund, get_installment_plan, get_accounting_report). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-payplug.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-payplug/docs"},"termsOfService":"https://connectorbay.com/byok-payplug/terms"},"servers":[{"url":"https://byok-payplug.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-payplug/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_payments":{"post":{"operationId":"list_payments","summary":"List payments created through the Payplug API (payments made in the Payplug portal are not listed), newest first, with a","description":"List payments created through the Payplug API (payments made in the Payplug portal are not listed), newest first, with amount in cents, currency and paid and refunded flags. Use for \"What payments did my shop receive through Payplug recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Objects per page (1 to 100; larger values return 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number; leave empty to get the most recent objects.","title":"Page"}},"title":"list_paymentsArguments","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 payment by id: amount in cents, refunded amount, currency, paid time, 3-D Secure flag, card brand and country, b","description":"Get one payment by id: amount in cents, refunded amount, currency, paid time, 3-D Secure flag, card brand and country, billing country. Use for \"Was Payplug payment pay_5iHMDxy4ABR4YBVW4UscIn paid and refunded\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"payment_id":{"description":"Payplug payment id, starting with 'pay_'.","maxLength":200,"title":"Payment Id","type":"string"}},"required":["payment_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/list_payment_refunds":{"post":{"operationId":"list_payment_refunds","summary":"List the refunds made against one payment, with amount in cents, currency and creation time. Use for \"What refunds were ","description":"List the refunds made against one payment, with amount in cents, currency and creation time. Use for \"What refunds were made on Payplug payment pay_5iHMDxy4ABR4YBVW4UscIn\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"payment_id":{"description":"Payplug payment id, starting with 'pay_'.","maxLength":200,"title":"Payment Id","type":"string"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Objects per page (1 to 100; larger values return 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number; leave empty to get the most recent objects.","title":"Page"}},"required":["payment_id"],"title":"list_payment_refundsArguments","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":{"post":{"operationId":"get_refund","summary":"Get one refund of a payment by refund id: amount in cents, currency and creation time. Use for \"Show Payplug refund re_3","description":"Get one refund of a payment by refund id: amount in cents, currency and creation time. Use for \"Show Payplug refund re_3NxGqPfSGMHQgLSZH0Mv3B\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"payment_id":{"description":"Payplug payment id, starting with 'pay_'.","maxLength":200,"title":"Payment Id","type":"string"},"refund_id":{"description":"Payplug refund id, starting with 're_'.","maxLength":200,"title":"Refund Id","type":"string"}},"required":["payment_id","refund_id"],"title":"get_refundArguments","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_installment_plan":{"post":{"operationId":"get_installment_plan","summary":"Get an installment plan by id: whether it is active and fully paid, currency and the schedule of dates and amounts in ce","description":"Get an installment plan by id: whether it is active and fully paid, currency and the schedule of dates and amounts in cents. Use for \"Is Payplug installment plan inst_2JhnPxy4ABR4YBVW4UscWx fully paid\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"installment_plan_id":{"description":"Installment plan id, starting with 'inst_'.","maxLength":200,"title":"Installment Plan Id","type":"string"}},"required":["installment_plan_id"],"title":"get_installment_planArguments","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_accounting_report":{"post":{"operationId":"get_accounting_report","summary":"Get a previously generated accounting report by id: date range and, once ready, a temporary download link valid for 24 h","description":"Get a previously generated accounting report by id: date range and, once ready, a temporary download link valid for 24 hours. Reports cannot be created with this connector. Use for \"Is accounting report ar_6zrx929ldfIzqnX6KktHzZ ready to download\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"accounting_report_id":{"description":"Accounting report id, starting with 'ar_'.","maxLength":200,"title":"Accounting Report Id","type":"string"}},"required":["accounting_report_id"],"title":"get_accounting_reportArguments","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}}}}