# GoCardless MCP connector

The GoCardless connector brings your customers, mandates and direct debit payments into Claude, ChatGPT, Cursor and any MCP client, so your team can check, create, retry or cancel them in plain language, with every action logged.

Source: https://elaichi.ai/connectors/gocardless/

## Facts

| | |
| --- | --- |
| Application | GoCardless |
| Category | Payment Gateway |
| AI tools | 137 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 137 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once GoCardless is connected

- Show me all failed payments from this week.
- List customers with pending mandates.
- Which webhooks failed to deliver yesterday.

## Connect GoCardless in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick GoCardless.
2. Optionally set Share with, then press Connect.
3. Paste a GoCardless API key. One person generates a token in GoCardless and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which GoCardless tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect GoCardless to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect GoCardless to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect GoCardless to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect GoCardless to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a GoCardless tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with GoCardless through Elaichi

### Chase failed direct debits the same morning

Finance. Ask which GoCardless payments failed overnight and why, then retry the ones whose mandate is still active before the customer notices anything is wrong.

### Set up a new payer end to end

Billing. Create the customer in GoCardless, attach their mandate and schedule the first payment straight from the signed order form, without opening a second tab.

### Answer a charge question in one look

Support. Pull up a customer's GoCardless payments and mandate status while they are still on the phone, and cancel a payment that should not go out.

### Reinstate a mandate for a returning customer

Customer success. When a customer comes back, reinstate their existing GoCardless mandate instead of asking them to enter their bank details all over again.

### Keep payer details current after a change

Operations. Update a customer's email, address or company name in GoCardless as soon as they tell you, so payment notifications reach the right place.

### Resend notifications your billing system missed

Revenue operations. If your invoicing system missed a GoCardless notification, ask which webhooks failed to deliver and send them again so both records line up.

## Frequently asked questions

### How do I connect GoCardless to Claude?

It takes two steps. In Elaichi, choose GoCardless and paste an access token from your GoCardless dashboard, which is the whole sign-in step, with no OAuth application to register and no client ID or secret to generate. Then in Claude, open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude asks you to sign in to Elaichi and GoCardless is ready to use.

### Does GoCardless work with ChatGPT and Cursor as well as Claude?

Yes. Once GoCardless is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect GoCardless once and every client you use picks it up.

### What can an AI agent actually do with my GoCardless data?

It can look up a customer, check whether their mandate is active, canceled or pending, and list their payments along with any that failed. It can also create a customer, mandate or payment in GoCardless, retry or cancel a payment, cancel or reinstate a mandate, update creditor details, and resend webhooks that did not get through. Because GoCardless has a large set of actions, short concrete asks such as "failed payments this week" work better than long sentences.

### Does connecting GoCardless give the AI access to my whole account?

The AI can only reach what the GoCardless account behind the connection is allowed to reach, and nothing beyond it. Elaichi can then narrow that further, for example to looking up customers and payments without creating or canceling anything. It can never widen access past what GoCardless itself allows.

### Can my team share one GoCardless connection?

Yes. One person connects GoCardless in Elaichi and shares it with a team, and nobody else ever handles the GoCardless access token. Each teammate still signs in to Elaichi as themselves, so the audit log names the person who retried a payment or canceled a mandate, not the person who set up the connection.

### Can I stop an agent from deleting or changing things in GoCardless?

Yes. Restrictions in Elaichi work per action, so you can block deleting customers, canceling mandates or canceling payments in GoCardless while still allowing lookups and retries. A blocked action is never shown to Claude, ChatGPT or any other client at all, so no prompt, however worded, can reach it.

### What happens to a GoCardless connection when someone leaves?

Offboarding that person in Elaichi ends their access to GoCardless at once, across every client they used. A shared GoCardless connection keeps working for everyone else on the team. If you want to remove GoCardless entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

## All 137 GoCardless tools

Every tool below is callable through https://api.elaichi.ai/mcp once GoCardless is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Create a GoCardless customer** (Create). Create a GoCardless customer with the contact details used for Direct Debit mandates. Returns: id, created_at, email, given_name, family_name, address_line1, address_line2, city, postal_code, country_code, metadata. Requires given_name and family_name; email is required in most cases. Legacy endpoint restricted to GoCardless Pro/Enterprise accounts.
- **List all GoCardless customers** (List). List GoCardless customers, cursor-paginated. Returns: id, created_at, email, given_name, family_name, address_line1, address_line2, address_line3, city, region, postal_code, country_code, language, phone_number, swedish_identity_number, danish_identity_number, metadata. Filterable by created_at date range, currency, and action_required; sortable via sort_field and sort_direction.
- **Get single GoCardless customer by ID** (Get). Get a single GoCardless customer by id. Returns the full customer object including id, created_at, email, given_name, family_name, address fields, language, phone_number, and metadata. Required: id.
- **Update a GoCardless customer by ID** (Update). Update a GoCardless customer's contact details by id. Returns the updated customer object including id, created_at, email, given_name, family_name, address fields, language, and metadata. Required: id.
- **Delete a GoCardless customer by ID** (Delete). Delete a GoCardless customer by id. This action cannot be reversed. Returns an empty 204 response on success.
- **List all GoCardless webhooks** (List). List GoCardless webhook deliveries, i.e. the webhook requests GoCardless sent to your endpoint. Returns webhook records including id, url, created_at, response_code, response_body, and successful. Supports created_at, successful, and is_test filters.
- **Get single GoCardless webhook by ID** (Get). Get a single GoCardless webhook delivery record by id. Returns the webhook record including id, url, created_at, request_headers, response_code, response_body, and successful. Required: id (webhook id beginning with WB, e.g. WB123).
- **GoCardless webhooks retry** (Action). Retry a GoCardless webhook delivery by requesting that a previous webhook be sent again. Returns the webhook record including id, url, response_code, response_body, and successful. Required: webhook_id.
- **Create a GoCardless payment** (Create). Create a GoCardless payment taken against a Direct Debit mandate. Returns: id, created_at, amount, amount_refunded, currency, description, charge_date, reference, metadata, status, fx, links, retry_if_possible. Requires amount, currency, and links.mandate.
- **List all GoCardless payments** (List). List GoCardless payments, returned as a cursor-paginated collection. Returns: id, created_at, amount, amount_refunded, currency, description, charge_date, reference, metadata, status, fx, links, retry_if_possible.
- **Get single GoCardless payment by ID** (Get). Get a single GoCardless payment by id. Returns: id, created_at, amount, amount_refunded, currency, description, charge_date, reference, metadata, status, fx, links, retry_if_possible. Required: id.
- **Update a GoCardless payment by ID** (Update). Update a GoCardless payment by id — this endpoint accepts only the metadata parameter. Returns: id, created_at, amount, amount_refunded, currency, description, charge_date, reference, metadata, status, fx, links, retry_if_possible. Required: id.
- **GoCardless payments cancel** (Cancel). Cancel a GoCardless payment if it has not already been submitted to the banks. Returns the updated payment: id, amount, currency, status, charge_date, reference, metadata. Required: payment_id.
- **GoCardless payments retry** (Action). Retry a failed GoCardless payment if the underlying mandate is active; the retry follows the same process as its initial creation (resubmission_requested, then submitted, then confirmed or failed). Returns the payment object including id, status, amount, charge_date, currency, and links. Required: payment_id. Fails with a retry_failed error if the payment has not failed; max 3 retries per payment.
- **Create a GoCardless creditor** (Create). Create a GoCardless creditor on behalf of your organisation (restricted to GoCardless Embed customers). Returns the created creditor including id, name, country_code, creditor_type, verification_status, and bank_reference_prefix.
- **List all GoCardless creditors** (List). List GoCardless creditors with cursor pagination. Returns each creditor's id, name, country_code, creditor_type, verification_status, and created_at. Accepts an optional created_at filter.
- **Get single GoCardless creditor by ID** (Get). Get a single GoCardless creditor by id. Returns the full creditor object including id, name, country_code, creditor_type, verification_status, scheme_identifiers, and default payout account links. Required: id.
- **Update a GoCardless creditor by ID** (Update). Update a GoCardless creditor by id. Accepts the same fields as create (name, country_code, creditor_type, bank_reference_prefix, and links such as default payout accounts) and returns the updated creditor including id, name, created_at, verification_status, and creditor_type. Required: id.
- **Create a GoCardless mandate** (Create). Create a mandate in gocardless against a customer bank account. Returns the created mandate including id, reference, status, scheme, next_possible_charge_date, metadata, and links. Required: links.customer_bank_account; links.creditor is only required if your account manages multiple creditors. Legacy endpoint requiring approved custom payment pages — gocardless recommends the Billing Requests…
- **List all GoCardless mandates** (List). List gocardless mandates. Returns a cursor-paginated list of mandate records including id, reference, status, scheme, next_possible_charge_date, metadata, and links.
- **Get single GoCardless mandate by ID** (Get). Get a single gocardless mandate by id. Returns the mandate record including id, reference, status, scheme, next_possible_charge_date, metadata, and links. Required: id.
- **Update a GoCardless mandate by ID** (Update). Update the metadata of a gocardless mandate by id. Returns the updated mandate including id, reference, status, scheme, and metadata. Accepts only the metadata parameter. Required: id.
- **GoCardless mandates cancel** (Cancel). Cancel a gocardless mandate by id, immediately cancelling the mandate and all associated cancellable payments. Returns the cancelled mandate including id, reference, status, scheme, and metadata. Fails with a cancellation_failed error if the mandate is already cancelled. Required: mandate_id.
- **GoCardless mandates reinstate** (Action). Reinstate a cancelled or expired mandate in gocardless, resubmitting it to the banks. Returns the mandate object including id, reference, status, scheme, next_possible_charge_date, and metadata. Required: mandate_id. Fails with mandate_not_inactive if the mandate is already submitted or active; mandates can be resubmitted up to 10 times.
- **Create a GoCardless subscription** (Create). Create a GoCardless subscription that schedules recurring payments against a mandate. Returns: id, created_at, amount, currency, name, interval_unit, day_of_month, metadata, links. Required: amount, currency, interval_unit, links.mandate. day_of_month/month are only valid for yearly/monthly intervals per the recurrence rules.
- **List all GoCardless subscriptions** (List). List GoCardless subscriptions for your account as a cursor-paginated collection; subscriptions belonging to removed customers are excluded. Returns each subscription's id, amount, currency, status, interval_unit, start_date, upcoming_payments, metadata, and links.
- **Get single GoCardless subscription by ID** (Get). Get a single GoCardless subscription by id. Returns: id, created_at, amount, currency, status, name, start_date, end_date, interval, interval_unit, day_of_month, month, payment_reference, earliest_charge_date_after_resume, parent_plan_paused, upcoming_payments, metadata, links, retry_if_possible. Required: id (subscription id beginning with "SB", from a list response).
- **Update a GoCardless subscription by ID** (Update). Update a GoCardless subscription object, such as changing its amount. Returns the updated subscription with id, amount, currency, status, interval_unit, start_date, upcoming_payments, metadata, and links. Required: id. Fails with subscription_not_active if the subscription is no longer active, and amount changes are limited to 10 amendments.
- **GoCardless subscriptions pause** (Pause). Pause a GoCardless subscription so no further payments are created until it is resumed. Returns the paused subscription with id, status, earliest_charge_date_after_resume, upcoming_payments, metadata, and links. Required: subscription_id. Only subscriptions created with count, without count/end_date, or already paused can be paused.
- **GoCardless subscriptions resume** (Resume). Resume a paused GoCardless subscription by id. Returns the updated subscription object including its id, status, amount, interval_unit, upcoming_payments, and metadata. Only paused subscriptions can be resumed. Required: subscription_id.
- **GoCardless subscriptions cancel** (Cancel). Cancel a GoCardless subscription by id, immediately stopping all future payments under it. Returns the cancelled subscription object including its id, status, amount, interval_unit, upcoming_payments, and metadata. Required: subscription_id.
- **Create a GoCardless customer bank account** (Create). Create a gocardless customer bank account for a customer using local bank details, an IBAN, or a customer bank account token. Returns the created account with id, created_at, account_holder_name, account_number_ending, country_code, currency, bank_name, enabled, metadata, and links.customer. Required: links.customer plus bank details (account_holder_name is required unless a customer bank account…
- **List all GoCardless customer bank accounts** (List). List gocardless customer bank accounts, cursor-paginated and filterable by customer, enabled state, and created_at range. Returns: id, created_at, account_holder_name, account_number_ending, account_type, country_code, currency, bank_name, bank_account_token, enabled, metadata, links, trusted_recipient, payer_name_verification_result.customer.
- **Get single GoCardless customer bank account by ID** (Get). Get a single gocardless customer bank account by id. Returns: id, created_at, account_number_ending, account_holder_name, country_code, currency, bank_name, metadata, enabled, links.customer. Required: id.
- **Update a GoCardless customer bank account by ID** (Update). Update a gocardless customer bank account by id; only the metadata parameter is allowed. Returns the updated account with id, created_at, account_holder_name, account_number_ending, country_code, currency, bank_name, enabled, metadata, and links.customer. Required: id.
- **GoCardless customer bank accounts disable** (Disable). Disable a gocardless customer bank account by id, immediately cancelling all associated mandates and cancellable payments. Returns the disabled account with id, created_at, account_holder_name, account_number_ending, currency, bank_name, enabled, metadata, and links.customer. Required: customer_bank_account_id. Fails with a disable_failed error if the account has already been disabled.
- **Create a GoCardless refund** (Create). Create a refund in gocardless for a (partial) refund of a payment back to the customer. Returns the created refund object including its id, created_at, amount, currency, status, metadata, links, and fx. Requires amount, total_amount_confirmation, and links.payment.
- **List all GoCardless refunds** (List). List refunds in gocardless, returning a cursor-paginated list of (partial) refunds of payments back to customers. Each refund record includes id, created_at, amount, currency, status, reference, metadata, links, and fx. Can be filtered by payment.
- **Get single GoCardless refund by ID** (Get). Get a single refund in gocardless by id, retrieving all details for that refund. Returns: id, created_at, amount, currency, status, reference, metadata, links, fx. Required: id (the refund id, beginning with "RF").
- **Update a GoCardless refund by ID** (Update). Update a refund in gocardless by id, modifying the refund object (e.g. its metadata or reference). Returns the updated refund object including its id, created_at, amount, currency, status, reference, metadata, links, and fx. Required: id.
- **List all GoCardless payouts** (List). List GoCardless payouts — transfers of collected payments to a creditor, created automatically after payments are collected. Returns: id, amount, arrival_date, deducted_fees, currency, created_at, payout_type, reference, status, fx, tax_currency, metadata, links.
- **Get single GoCardless payout by ID** (Get). Get a single GoCardless payout by id. Returns the payout including id, amount, currency, status, payout_type, arrival_date, and created_at. Required: id.
- **Update a GoCardless payout by ID** (Update). Update a GoCardless payout by id. Only the metadata parameter is accepted (up to 3 keys, key names up to 50 characters, values up to 500 characters). Returns the updated payout: id, amount, currency, status, and arrival_date. Required: id.
- **List all GoCardless payout items** (List). List the credit and debit payout items that make up a single GoCardless payout. Returns cursor-paginated items with amount, type, taxes, and links to the related payment. Required: payout. Only serves payouts created in the last 6 months; requests for older payouts return 410 Gone.
- **Create a GoCardless billing request** (Create). Create a billing request in gocardless to collect a payment, set up a mandate, or both. Returns the created billing request including id, created_at, status, payment_request, mandate_request, and actions. Supply a payment_request, a mandate_request, or both.
- **List all GoCardless billing requests** (List). List billing requests in gocardless. Returns each billing request including id, created_at, status, payment_request, mandate_request, metadata, and links.
- **Get single GoCardless billing request by ID** (Get). Get a single billing request by id in gocardless. Returns the billing request including id, created_at, status, payment_request, mandate_request, actions, links, and resources. Required: id.
- **GoCardless billing requests collect customer details** (Action). Collect customer details (such as email, name, and address) for a gocardless billing request. Returns the updated billing request including id, status, actions, links, and resources. Required: billing_request_id.
- **GoCardless billing requests collect bank account** (Action). Collect bank account details for a gocardless billing request. Returns the updated billing request including id, status, actions, links, and resources. Required: billing_request_id.
- **GoCardless billing requests confirm payer details** (Action). Confirm the payer details for a gocardless billing request. Returns the updated billing request including id, created_at, status, mandate_request, payment_request, links, actions, and resources. Required: billing_request_id.
- **GoCardless billing requests fulfil** (Action). Fulfil a gocardless billing request, completing it and creating the associated payment and/or mandate. Returns the billing request including id, created_at, status, mandate_request, payment_request, links, actions, and resources. Required: billing_request_id.
- **GoCardless billing requests cancel** (Cancel). Cancel a gocardless billing request so it can no longer be used. Returns the billing request including id, created_at, status, mandate_request, payment_request, links, actions, and resources. Required: billing_request_id.
- **GoCardless billing requests notify** (Action). Notify the customer linked to a gocardless billing request by email, asking them to authorise it. Returns the billing request including id, created_at, status, mandate_request, payment_request, links, actions, and resources. Required: billing_request_id. Only supported for Pay by Bank Billing Requests.
- **GoCardless billing requests fallback** (Action). Trigger a gocardless billing request's fallback from the open-banking flow to direct debit. Returns the billing request including id, created_at, status, mandate_request, payment_request, links, actions, and resources. Required: billing_request_id. Requires fallback enabled; restricted to GoCardless Pro and Enterprise accounts with the custom payment pages upgrade.
- **GoCardless billing requests choose currency** (Action). Complete the choose_currency action on a GoCardless billing request, locking in the currency the payer will be charged in. Returns the updated billing request object including id, status, mandate_request, payment_request, links, actions, and resources. Required: billing_request_id, currency.
- **GoCardless billing requests select institution** (Action). Complete the select_institution action on a GoCardless billing request, attaching the payer's chosen bank institution. Returns the updated billing request object including id, status, mandate_request, payment_request, links, actions, and resources. Required: billing_request_id. Restricted to GoCardless Pro and Enterprise accounts with the custom payment pages upgrade.
- **GoCardless billing requests create with actions** (Create). Create a GoCardless billing request and complete actions such as collecting customer details, selecting an institution, or creating a bank authorisation in a single call. Returns the created billing request object including id, status, payment_request, actions, resources, and links. Calling this creates a new billing request every time; ACH/PAD schemes are not supported, and the endpoint is…
- **List all GoCardless events** (List). List GoCardless events, cursor-paginated, filterable by a resource ID (e.g. payment, mandate, subscription), action, resource_type, and created_at date range. Returns each event's id, created_at, resource_type, action, details, and links. Events older than 18 months are no longer returned.
- **Get single GoCardless event by ID** (Get). Get a single GoCardless event by id, including what changed and why. Returns: id, created_at, resource_type, action, details, metadata, resource_metadata, links. Required: id.
- **Create a GoCardless redirect flow** (Create). Create a gocardless redirect flow that sends your customer to the gocardless hosted payment pages to set up a Direct Debit mandate. Returns: id, description, session_token, success_redirect_url, created_at, links, prefilled_customer. Required: session_token. Legacy API deprecated for new integrators; redirect flows expire 30 minutes after creation.
- **Get single GoCardless redirect flow by ID** (Get). Get all details about a single gocardless redirect flow by id. Returns: id, description, session_token, scheme, success_redirect_url, redirect_url, created_at, links. Required: id. Legacy API deprecated for new integrators.
- **GoCardless redirect flows complete** (Complete). Complete a gocardless redirect flow after your customer returns from the hosted payment pages; this creates a customer, customer bank account, and mandate. Returns: id, description, session_token, scheme, success_redirect_url, redirect_url, created_at, links. Required: redirect_flow_id. Flows expire 30 minutes after creation and cannot be completed once expired.
- **Create a GoCardless instalment schedule** (Create). Create a new GoCardless instalment schedule together with its associated payments, either schedule-based or with explicit amounts and charge dates. Returns: id, created_at, name, currency, status, total_amount, metadata, payment_errors, links. Requires total_amount, currency, instalments, and links.mandate. Created with status pending and cannot be modified afterwards, only cancelled.
- **List all GoCardless instalment schedules** (List). List GoCardless instalment schedules with cursor pagination. Returns instalment schedule records including id, name, currency, status, total_amount, payment_errors, and links (mandate, payments, customer).
- **Get single GoCardless instalment schedule by ID** (Get). Get a single GoCardless instalment schedule by id. Returns: id, created_at, name, currency, status, total_amount, metadata, payment_errors, links. Required: id. Use after creation to poll until processing completes (status success or error).
- **Update a GoCardless instalment schedule by ID** (Update). Update a GoCardless instalment schedule by id. Returns the updated schedule: id, name, currency, status, total_amount, payment_errors, and links (mandate, payments, customer). Required: id. Accepts only the metadata parameter.
- **GoCardless instalment schedules cancel** (Cancel). Cancel a GoCardless instalment schedule by id, immediately stopping collection of any further payments for it. Returns the cancelled schedule: id, name, currency, status, total_amount, payment_errors, and links (mandate, payments, customer). Required: instalment_schedule_id. Fails with a cancellation_failed error if the schedule is already cancelled or has completed.
- **Create a GoCardless mandate import** (Create). Create a new mandate import in gocardless to begin migrating existing mandates from another provider. Returns: id, scheme, status, created_at, links. Required: scheme (all mandates in one import must share the same scheme). Imports are limited to 30,000 entries; add entries, then submit for processing.
- **Get single GoCardless mandate import by ID** (Get). Get a single gocardless mandate import by id, useful for checking the current status of an import while it is processed. Returns: id, scheme, status, created_at, links. Required: id.
- **GoCardless mandate imports submit** (Action). Submit a gocardless mandate import so it can be processed by the GoCardless team; once submitted, no more entries can be added. Returns the import with id, scheme, status (submitted, or processing in sandbox), created_at, and links. Required: mandate_import_id.
- **GoCardless mandate imports cancel** (Cancel). Cancel a gocardless mandate import, stopping it before the mandates are imported. Returns the import with id, scheme, status (cancelled), created_at, and links. Required: mandate_import_id.
- **Create a GoCardless mandate import entry** (Create). Add a mandate import entry to an existing GoCardless mandate import. Returns the created entry: record_identifier, created_at, and links (mandate_import, mandate, customer, customer_bank_account). Required: mandate_import (ID of the mandate import, beginning with 'IM'). A single mandate import accepts at most 30,000 entries.
- **List all GoCardless mandate import entries** (List). List all mandate import entries attached to a GoCardless mandate import - use record_identifier to match entries back to your records once the import is processed. Returns each entry's record_identifier, created_at, links (mandate_import, mandate, customer, customer_bank_account) and processing_errors. Required: mandate_import.
- **Create a GoCardless mandate PDF** (Create). Create a GoCardless mandate PDF and get back a temporary URL for a scheme-rules compliant Direct Debit mandate. Returns: url, expires_at. Supply links.mandate, an iban, or local bank details (account_number, branch_code, country_code), or leave blank for a blank mandate; links.mandate cannot be combined with other details. Generated in English by default.
- **Create a GoCardless billing request flow** (Create). Create a GoCardless billing request flow that lets a payer authorise a billing request, e.g. via open banking. Returns: id, redirect_uri, exit_uri, created_at, prefilled_customer, links.billing_request. Supply redirect_uri, exit_uri, prefilled_customer, and links.billing_request as needed.
- **GoCardless billing request flows initialise** (Action). Initialise a GoCardless billing request flow, generating a fresh session token that can be used to power integrations that manipulate the flow. Returns: id, redirect_uri, skip_success_screen, exit_uri, show_redirect_buttons, show_success_redirect_button, authorisation_url, created_at, expires_at, session_token, auto_fulfil, lock_bank_account, lock_currency, lock_customer_details,…
- **List all GoCardless billing request templates** (List). List GoCardless Billing Request Templates, the reusable templates behind multi-user payment links. Returns: id, name, mandate_request_currency, mandate_request_scheme, mandate_request_verify, mandate_request_metadata, payment_request_description, mandate_request_description, mandate_request_constraints, payment_request_amount, payment_request_currency, payment_request_scheme,…
- **Create a GoCardless billing request template** (Create). Create a Billing Request Template in GoCardless, a reusable template whose authorisation_url generates a new Billing Request each time it is opened. Returns: id, name, mandate_request_currency, mandate_request_scheme, mandate_request_verify, mandate_request_metadata, payment_request_description, mandate_request_description, mandate_request_constraints, payment_request_amount,…
- **Get single GoCardless billing request template by ID** (Get). Get a single GoCardless Billing Request Template by id. Returns: id, name, mandate_request_currency, mandate_request_scheme, mandate_request_verify, mandate_request_metadata, payment_request_description, mandate_request_description, mandate_request_constraints, payment_request_amount, payment_request_currency, payment_request_scheme, payment_request_metadata, redirect_uri, authorisation_url,…
- **Update a GoCardless billing request template by ID** (Update). Update a GoCardless Billing Request Template by id; changes affect all future Billing Requests created from this template. Returns the updated template with id, name, payment_request_amount, authorisation_url, and updated_at. Required: id.
- **GoCardless customer notifications handle** (Action). Handle a GoCardless customer notification to record that your integration sent it instead of GoCardless. Returns the notification with id, type, action_taken, action_taken_at, action_taken_by, and links to the related customer, event, and payment. Required: customer_notification_id. Fails with an already_actioned error if the notification was already actioned or the deadline to notify has passed.
- **List all GoCardless tax rates** (List). List GoCardless tax rates, optionally filtered by jurisdiction (e.g. GB). Returns tax rates with id, jurisdiction, type, percentage, start_date, and end_date.
- **Get single GoCardless tax rate by ID** (Get). Get a single GoCardless tax rate by id. Returns: id, jurisdiction, type, percentage, start_date, end_date. Required: id.
- **Get single GoCardless transferred mandate by ID** (Get). Get updated customer bank details for a GoCardless mandate recently transferred through the Current Account Switch Service. Returns: encrypted_decryption_key, public_key_id, encrypted_customer_bank_details, links. Required: id. Restricted to organisations with the Transfer Bank Accounts upgrade.
- **Create a GoCardless creditor bank account** (Create). Create a new GoCardless creditor bank account for a creditor; payouts are sent to this account. Returns: id, created_at, account_holder_name, country_code, links, account_number, branch_code. Provide either local details (account_number, bank_code, branch_code) or an iban. Creating a duplicate account returns a bank_account_exists error.
- **List all GoCardless creditor bank accounts** (List). List the GoCardless creditor bank accounts that receive your payouts. Returns a cursor-paginated collection of accounts including id, bank_name, currency, enabled, and verification_status. Filterable by creditor, enabled, and created_at ranges.
- **Get single GoCardless creditor bank account by ID** (Get). Get a single GoCardless creditor bank account by id. Returns: id, created_at, account_holder_name, account_number_ending, account_type, country_code, currency, bank_name, enabled, links, verification_status. Required: id.
- **GoCardless creditor bank accounts disable** (Disable). Disable a GoCardless creditor bank account so no payouts can be paid out to it. Returns: id, created_at, account_holder_name, account_number_ending, account_type, country_code, currency, bank_name, enabled, links, verification_status. Required: creditor_bank_account_id. Returns a disable_failed error if the account is already disabled; re-enable by creating a new account with the same details.
- **Create a GoCardless bank authorisation** (Create). Create a GoCardless bank authorisation for a billing request against a specific bank. Returns: id, url, qr_code_url, authorisation_type, created_at, expires_at, last_visited_at, authorised_at, redirect_uri, links. Requires a bank_authorisations payload (redirect_uri, links.billing_request). Restricted: permitted only within a compliance-approved checkout flow — use a Billing Request Flow instead.
- **Get single GoCardless bank authorisation by ID** (Get). Get a single GoCardless bank authorisation by id. Returns: id, url, qr_code_url, authorisation_type, created_at, expires_at, last_visited_at, authorised_at, redirect_uri, links. Required: id.
- **List all GoCardless institutions** (List). List GoCardless institutions supported when creating Bank Authorisations. Returns each institution's id, name, icon_url, logo_url, country_code, limits, and status.
- **GoCardless institutions list for billing request** (List). List GoCardless institutions valid for a Billing Request. Returns: id, name, icon_url, logo_url, roles, country_code, limits, autocompletes_collect_bank_account, status. Required: billing_request_id, country_code. Supported only for FasterPayments; requires a Pro or Enterprise plan with the custom payment pages upgrade.
- **Create a GoCardless bank details lookup** (Create). Perform a GoCardless bank details lookup, running modulus and reachability checks on the supplied bank account. Supply details either as an iban or as local details (account_number, branch_code, country_code). Returns: bank_name, bic, available_debit_schemes (empty array means the account is not reachable for collections).
- **Create a GoCardless outbound payment** (Create). Create a GoCardless outbound payment sent from a creditor. Returns the created payment with id, status, amount, scheme, currency, execution_date, and links. Required: amount, scheme, description, and links (creditor, recipient_bank_account).
- **List all GoCardless outbound payments** (List). List GoCardless outbound payments from a cursor-paginated collection. Returns payment objects with id, status, amount, currency, execution_date, and links. Filter by created_from, created_to, and status.
- **GoCardless outbound payments create withdrawal** (Create). Create a GoCardless withdrawal outbound payment to your verified business bank account as the recipient. Returns the created payment with id, status, amount, currency, is_withdrawal, and links. Required: amount, scheme, description, and links.creditor.
- **GoCardless outbound payments cancel** (Cancel). Cancel a GoCardless outbound payment by id; only payments in verifying, pending_approval, or scheduled status can be cancelled, since once executing the money movement cannot be reversed. Returns the updated payment with id, status, amount, currency, and links. Required: outbound_payment_id.
- **GoCardless outbound payments approve** (Approve). Approve a GoCardless outbound payment by id so it can proceed to execution. Returns the updated payment with id, status, amount, currency, and links. Required: outbound_payment_id. Only payments with pending_approval status can be approved.
- **Get single GoCardless outbound payment by ID** (Get). Get a GoCardless outbound payment by id. Returns: id, created_at, status, amount, scheme, currency, execution_date, description, reference, is_withdrawal, links, verifications, metadata, pending_approval_amount, pending_approval_count, executing_amount, executing_count, scheduled_amount, scheduled_count. Required: id.
- **Update a GoCardless outbound payment by ID** (Update). Update a GoCardless outbound payment by id. Accepts only the metadata parameter. Returns the updated outbound payment object: id, created_at, status, amount, currency, links, verifications, and metadata. Required: id.
- **GoCardless outbound payments stats** (Action). Get aggregate statistics on GoCardless outbound payments. Returns pending_approval_amount, pending_approval_count, executing_amount, executing_count, scheduled_amount, and scheduled_count — the amount sums (in the lowest currency denomination) and counts of outbound payments in each of those statuses.
- **Create a GoCardless outbound payment import** (Create). Create a GoCardless outbound payment import to batch multiple outbound payments; entries are processed only after the import is authorised in the GoCardless dashboard. Returns: id, created_at, currency, links. Required: outbound_payment_imports with entry_items (amount, scheme, recipient_bank_account_id) and links.creditor. Max 1000 entries.
- **List all GoCardless outbound payment imports** (List). List GoCardless outbound payment imports. Returns each import with: id, created_at, status, amount_sum, currency, authorisation_url, entry_counts, and links. Filterable by created_at (gt/lt/gte/lte) and status.
- **Get single GoCardless outbound payment import by ID** (Get). Get a single GoCardless outbound payment import by id. Returns: id, created_at, status, amount_sum, currency, authorisation_url, entry_counts, links. Required: id (the import identifier beginning with "IM").
- **Create a GoCardless block** (Create). Create a GoCardless block that prevents matching customer details from being used when creating mandates. Returns: id, block_type, reason_type, resource_reference, active, created_at, updated_at. Requires block_type, reason_type, and resource_reference; reason_description is required when reason_type is other. Creating a block that already exists but is disabled re-enables it.
- **List all GoCardless blocks** (List). List GoCardless blocks, cursor-paginated. Returns each block with: id, block_type, reason_type, resource_reference, active, created_at, updated_at. Filterable by created_at, block_type, and reason_type.
- **Get single GoCardless block by ID** (Get). Get a single GoCardless block by id. Returns: id, block_type, reason_type, resource_reference, active, created_at, updated_at. Required: id.
- **GoCardless blocks disable** (Disable). Disable a GoCardless block so it no longer prevents mandate creation. Returns the updated block with: id, block_type, reason_type, resource_reference, active, created_at, updated_at. Required: block_id.
- **GoCardless blocks enable** (Enable). Enable a previously disabled GoCardless block so it prevents mandate creation again. Returns the updated block with: id, block_type, reason_type, resource_reference, active, created_at, updated_at. Required: block_id.
- **GoCardless blocks create by reference** (Create). Create GoCardless blocks for the emails and bank accounts linked to a customer or mandate reference. Returns the created blocks with id, block_type, reason_type, active, and created_at. Required: reference_type, reference_value, and reason_type (reason_description when reason_type is other). Returns 201 if any new block was created, 200 if none were; blocks are active by default.
- **Get single GoCardless payer authorisation by ID** (Get). Get a GoCardless payer authorisation by id, useful for polling its status. Returns: id, created_at, status, customer, bank_account, mandate, incomplete_fields, links. Required: id. Deprecated for new integrations in favour of Billing Requests.
- **Update a GoCardless payer authorisation by ID** (Update). Update a GoCardless payer authorisation with additional customer, bank account, or mandate details; the resource is saved even if the data is incomplete. Returns: id, created_at, status, customer, bank_account, mandate, incomplete_fields, links. Required: id. Bank account details (account_number, bank_code, branch_code) must be sent together in one request.
- **Create a GoCardless payer authorisation** (Create). Create a GoCardless payer authorisation, either empty or with already available customer, bank account, and mandate details; it is saved even when incomplete and the returned id is used for the other actions. Returns: id, created_at, status, customer, bank_account, mandate, incomplete_fields, links. Bank account details (account_number, bank_code, branch_code) must be sent together in one request.
- **GoCardless payer authorisations confirm** (Action). Confirm a GoCardless payer authorisation to indicate that the linked resources are ready to be created; resource creation itself happens asynchronously afterwards. Returns: id, created_at, status, customer, bank_account, mandate, incomplete_fields, links. Required: payer_authorisation_id. A payer authorisation cannot be confirmed until it has been submitted.
- **GoCardless payer authorisations submit** (Action). Submit a GoCardless payer authorisation so all previously pushed data is verified; a validation error is returned if it is invalid and it can no longer be edited after a successful submission. Returns: id, created_at, status, customer, bank_account, mandate, incomplete_fields, links. Required: payer_authorisation_id.
- **Create a GoCardless scheme identifier** (Create). Create a scheme identifier (e.g. a Bacs SUN or SEPA CID) in GoCardless that sets the beneficiary name shown on customers' bank statements. Returns: id, created_at, name, scheme, reference, status, minimum_advance_notice, can_specify_mandate_reference, currency, address_line1, address_line2, address_line3, city, region, postal_code, country_code, email, phone_number. New identifiers start as…
- **List all GoCardless scheme identifiers** (List). List the GoCardless scheme identifiers (e.g. a SUN in Bacs or a CID in SEPA) that specify the beneficiary name shown on customers' bank statements. Returns: id, created_at, name, scheme, reference, status, minimum_advance_notice, can_specify_mandate_reference, currency, address_line1, address_line2, address_line3, city, region, postal_code, country_code, email, phone_number.
- **Get single GoCardless scheme identifier by ID** (Get). Get a single GoCardless scheme identifier (e.g. a SUN in Bacs or a CID in SEPA) by id. Returns: id, created_at, name, scheme, reference, status, minimum_advance_notice, can_specify_mandate_reference, currency, address_line1, address_line2, address_line3, city, region, postal_code, country_code, email, phone_number. Required: id.
- **Create a GoCardless verification detail** (Create). Create a verification detail for a GoCardless creditor. Returns the created record including name, company_number, description, address_line1, city, postal_code, country_code, directors, and links. Only supports UK-based limited companies (creditor_type 'company', country_code 'GB'). Required: verification_details.
- **List all GoCardless verification details** (List). List verification details belonging to a GoCardless creditor. Returns verification_details records including name, company_number, city, postal_code, country_code, directors, and links. Required: creditor.
- **Get single GoCardless payment account by ID** (Get). Get the details of an existing GoCardless payment account (a bank account used to fund outbound payments) by id. Returns: id, account_holder_name, account_number_ending, currency, bank_name, links, account_balance. Required: id.
- **List all GoCardless payment accounts** (List). List your GoCardless payment accounts, the bank accounts provided to fund outbound payments. Returns each account with id, account_holder_name, account_number_ending, currency, bank_name, links, and account_balance.
- **Get single GoCardless payment account transaction by ID** (Get). Get a GoCardless payment account transaction by id. Returns the transaction's id, amount, currency, value_date, direction, reference, description, counterparty_name, balance_after_transaction, and links to related records. Required: id.
- **GoCardless payment account transactions list transactions** (List). List GoCardless payment account transactions for a given payment account. Returns each transaction's id, amount, currency, value_date, direction, reference, description, counterparty_name, balance_after_transaction, and links to related records. Required: payment_account_id, value_date_from, value_date_to.
- **Get single GoCardless bank account detail by ID** (Get). Get a customer bank account's encrypted bank details by id in gocardless, returned as a flattened JWE object. Returns: protected, encrypted_key, iv, ciphertext, tag. Required: id. Restricted to organisations with the Encrypted Bank Details Access upgrade; the request must include a Gc-Key-Id header.
- **Create a GoCardless bank account holder verification** (Create). Create a bank account holder verification in GoCardless to run a Confirmation of Payee check on a customer bank account before sending outbound payments. Returns: id, result, status, actual_account_name. Requires type and links.bank_account. Only available to organisations with Outbound Payments enabled.
- **Get single GoCardless bank account holder verification by ID** (Get). Get a bank account holder verification in GoCardless by id. Returns: id, result, status, actual_account_name. Requires id.
- **List all GoCardless balances** (List). List GoCardless balances for a creditor; amounts are typically 3-5 minutes old and may differ from dashboard figures. Returns: balance_type, amount, currency, last_updated_at, links. Required: creditor.
- **GoCardless funds availability check** (Action). Check whether a GoCardless payer's current balance is sufficient to cover the amount the merchant wants to charge within the mandate's consent parameters. Returns the boolean available — the sole field in the response body. Required: funds_availability_id. Only supported for VRP mandates.
- **List all GoCardless negative balance limits** (List). List negative balance limits in GoCardless — the per-creditor thresholds beyond which refunds are not permitted. Returns limit records with id, created_at, balance_limit, currency, and links (creditor, creator_user). Restricted to GoCardless Embed customers.
- **List all GoCardless currency exchange rates** (List). List GoCardless currency exchange rates from its foreign exchange provider. Returns: rate, source, target, time. Filter by source and target currency.
- **Create a GoCardless logo** (Create). Create a logo for a GoCardless creditor; the logo appears on billing request flow payment pages and replaces any existing logo already linked to that creditor. Returns the created logo's id. JPG and PNG only, scaled to a maximum of 300px by 40px. Restricted to GoCardless Embed customers.
- **Create a GoCardless payer theme** (Create). Create a payer theme for a creditor in GoCardless; if the creditor already has payer themes, the existing theme is updated. Returns the theme's id (prefixed "PTH"). Send colours (header_background_colour, link_text_colour, button_background_colour, content_box_border_colour) and links.creditor in the payer_themes body. Restricted to GoCardless Embed customers.
- **Get single GoCardless export by ID** (Get). Get a single GoCardless export by id. Returns: id, created_at, export_type, download_url, currency, error_message. Required: id. Restricted to GoCardless Embed customers; the download_url is subject to expiry.
- **List all GoCardless exports** (List). List file-based exports in GoCardless that are available for download. Returns: id, created_at, export_type, download_url, currency, error_message. Available to GoCardless Embed customers.
- **List all GoCardless outbound payment import entries** (List). List the outbound payment import entries for a given GoCardless outbound payment import — the individual rows representing each payment to be created. Returns: id, created_at, processed_at, amount, scheme, reference, verification_result, validation_errors, metadata, links. Required: outbound_payment_import.
- **GoCardless scenario simulators run** (Run). Run a GoCardless scenario simulator, such as payment_failed or mandate_activated, against a specific resource to simulate real-world integration paths. Returns the triggered simulator record (scenario_simulators) including its id. Required: scenario_simulator_id and resource (the id of the payment, mandate, etc. to simulate against). Only active in the sandbox environment.
