{"openapi":"3.1.0","info":{"title":"GoCardless (BYOK) API","version":"0.1.0","description":"GoCardless (BYOK) lets an AI assistant read your own GoCardless data through the GoCardless API with a key you supply (GoCardless live access token (read-only scope is enough)). Read-only: 10 tools (list_customers, get_customer, list_payments, get_payment, list_mandates, list_subscriptions, list_payouts, list_refunds, list_events, list_creditors). The BYOK key travels with each request, is used...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-gocardless.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-gocardless/docs"},"termsOfService":"https://connectorbay.com/byok-gocardless/terms"},"servers":[{"url":"https://byok-gocardless.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-gocardless/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_customers":{"post":{"operationId":"list_customers","summary":"List customers with name, email, address city, country and language. Use for \"Who are my newest GoCardless customers\".","description":"List customers with name, email, address city, country and language. Use for \"Who are my newest GoCardless customers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sort_field":{"anyOf":[{"enum":["name","company_name","created_at"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by name, company_name or created_at.","title":"Sort Field"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"asc or desc.","title":"Sort Direction"},"created_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created From"},"created_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or before this ISO 8601 time.","title":"Created To"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 500).","title":"Limit"},"after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from meta.cursors.after of the previous answer to get the next page.","title":"After"}},"title":"list_customersArguments","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_customer":{"post":{"operationId":"get_customer","summary":"Get one customer by id (starts with CU). Use for \"Show customer CU123\".","description":"Get one customer by id (starts with CU). Use for \"Show customer CU123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"customer_id":{"description":"GoCardless customer id such as 'CU123'.","maxLength":200,"title":"Customer Id","type":"string"}},"required":["customer_id"],"title":"get_customerArguments","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_payments":{"post":{"operationId":"list_payments","summary":"List payments with amount (in minor units), currency, charge date, status and linked mandate, customer and payout; filte","description":"List payments with amount (in minor units), currency, charge date, status and linked mandate, customer and payout; filter by status, customer, mandate, subscription or date. Use for \"Which payments failed this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["pending_customer_approval","pending_submission","submitted","confirmed","paid_out","cancelled","customer_approval_denied","failed","charged_back"],"type":"string"},{"type":"null"}],"default":null,"description":"Payment status.","title":"Status"},"customer":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only payments of this customer id.","title":"Customer"},"mandate":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only payments of this mandate id.","title":"Mandate"},"subscription":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only payments of this subscription id.","title":"Subscription"},"charge_date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only payments collected on or after this date (YYYY-MM-DD).","title":"Charge Date From"},"charge_date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only payments collected on or before this date (YYYY-MM-DD).","title":"Charge Date To"},"sort_field":{"anyOf":[{"enum":["charge_date","amount"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by charge_date or amount.","title":"Sort Field"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"asc or desc.","title":"Sort Direction"},"created_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created From"},"created_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or before this ISO 8601 time.","title":"Created To"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 500).","title":"Limit"},"after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from meta.cursors.after of the previous answer to get the next page.","title":"After"}},"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 (starts with PM) with amount, status, charge date and links. Use for \"Show payment PM123\".","description":"Get one payment by id (starts with PM) with amount, status, charge date and links. Use for \"Show payment PM123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"payment_id":{"description":"GoCardless payment id such as 'PM123'.","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_mandates":{"post":{"operationId":"list_mandates","summary":"List Direct Debit mandates with reference, status, scheme, next possible charge date and linked customer. Use for \"Which","description":"List Direct Debit mandates with reference, status, scheme, next possible charge date and linked customer. Use for \"Which mandates are active\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Mandate status such as active, pending_submission, cancelled, failed, expired.","title":"Status"},"customer":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only mandates of this customer id.","title":"Customer"},"scheme":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Payment scheme such as bacs, sepa_core, ach.","title":"Scheme"},"created_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created From"},"created_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or before this ISO 8601 time.","title":"Created To"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 500).","title":"Limit"},"after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from meta.cursors.after of the previous answer to get the next page.","title":"After"}},"title":"list_mandatesArguments","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_subscriptions":{"post":{"operationId":"list_subscriptions","summary":"List recurring subscriptions with name, amount, interval, start and end date and status. Use for \"What active subscripti","description":"List recurring subscriptions with name, amount, interval, start and end date and status. Use for \"What active subscriptions do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Subscription status such as active, paused, finished, cancelled.","title":"Status"},"customer":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions of this customer id.","title":"Customer"},"mandate":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions of this mandate id.","title":"Mandate"},"created_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created From"},"created_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or before this ISO 8601 time.","title":"Created To"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 500).","title":"Limit"},"after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from meta.cursors.after of the previous answer to get the next page.","title":"After"}},"title":"list_subscriptionsArguments","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_payouts":{"post":{"operationId":"list_payouts","summary":"List payouts to your bank account with amount, fees deducted, currency, arrival date and status. Use for \"When is my nex","description":"List payouts to your bank account with amount, fees deducted, currency, arrival date and status. Use for \"When is my next payout arriving\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["pending","paid","bounced"],"type":"string"},{"type":"null"}],"default":null,"description":"Payout status.","title":"Status"},"currency":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Three-letter currency code, for example GBP.","title":"Currency"},"reference":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only the payout with this reference.","title":"Reference"},"created_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created From"},"created_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or before this ISO 8601 time.","title":"Created To"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 500).","title":"Limit"},"after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from meta.cursors.after of the previous answer to get the next page.","title":"After"}},"title":"list_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}},"/v1/tools/list_refunds":{"post":{"operationId":"list_refunds","summary":"List refunds with amount, currency, status and reference. Use for \"Which refunds were issued recently\".","description":"List refunds with amount, currency, status and reference. Use for \"Which refunds were issued recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"payment":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only refunds of this payment id.","title":"Payment"},"mandate":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only refunds of this mandate id.","title":"Mandate"},"refund_type":{"anyOf":[{"enum":["mandate","payment"],"type":"string"},{"type":"null"}],"default":null,"description":"Refund kind: mandate or payment.","title":"Refund Type"},"created_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created From"},"created_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or before this ISO 8601 time.","title":"Created To"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 500).","title":"Limit"},"after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from meta.cursors.after of the previous answer to get the next page.","title":"After"}},"title":"list_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/list_events":{"post":{"operationId":"list_events","summary":"List events (what happened to payments, mandates, payouts and more) with time, resource type, action and details. Use fo","description":"List events (what happened to payments, mandates, payouts and more) with time, resource type, action and details. Use for \"What happened to payment PM123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"resource_type":{"anyOf":[{"enum":["billing_requests","creditors","customers","exports","instalment_schedules","mandates","organisations","outbound_payments","payer_authorisations","payments","payment_account_transactions","payouts","refunds","scheme_identifiers","subscriptions"],"type":"string"},{"type":"null"}],"default":null,"description":"Kind of resource the event is about.","title":"Resource Type"},"action":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Event action such as created, submitted, confirmed, failed, cancelled.","title":"Action"},"payment":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only events of this payment id.","title":"Payment"},"mandate":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only events of this mandate id.","title":"Mandate"},"created_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created From"},"created_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or before this ISO 8601 time.","title":"Created To"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 500).","title":"Limit"},"after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from meta.cursors.after of the previous answer to get the next page.","title":"After"}},"title":"list_eventsArguments","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_creditors":{"post":{"operationId":"list_creditors","summary":"List the creditors (your business entities) on the account with name, address country and verification status. Use for \"","description":"List the creditors (your business entities) on the account with name, address country and verification status. Use for \"Which creditors are on my GoCardless account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"created_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created From"},"created_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only records created on or before this ISO 8601 time.","title":"Created To"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 500).","title":"Limit"},"after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from meta.cursors.after of the previous answer to get the next page.","title":"After"}},"title":"list_creditorsArguments","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}}}}