Event
Events are stored for all webhooks. An event refers to a resource which has been updated, for example a payment which has been collected, or a mandate which has been transferred. Event creation is an asynchronous process, so it can take some time between an action occurring and its corresponding event getting included in API responses. See here for a complete list of event types.
List events#
/eventsReturns a cursor-paginated list of your events.
Query Parameters
| Name | Type | Description |
|---|---|---|
before | string | null | Cursor pointing to the end of the desired set. |
after | string | null | Cursor pointing to the start of the desired set. |
limit | integer | string | Number of records to return. |
created_at | object | 4 properties
|
billing_request | string | ID of a billing request. If specified, this endpoint will return all events for the given billing request. |
creditor | string | ID of an creditor. If specified, this endpoint will return all events for the given creditor. |
export | string | ID of an export. If specified, this endpoint will return all events for the given export. |
instalment_schedule | string | ID of an instalment schedule. If specified, this endpoint will return all events for the given instalment schedule. |
mandate | string | ID of a mandate. If specified, this endpoint will return all events for the given mandate. |
outbound_payment | string | ID of an outbound_payment. If specified, this endpoint will return all events for the given payment. |
payer_authorisation | string | ID of a payer authorisation. |
payment | string | ID of a payment. If specified, this endpoint will return all events for the given payment. |
payment_account_transaction | string | ID of a payment account transaction. If specified, this endpoint will return all events for the given transaction. |
payout | string | ID of a payout. If specified, this endpoint will return all events for the given payout. |
refund | string | ID of a refund. If specified, this endpoint will return all events for the given refund. |
subscription | string | ID of a subscription. If specified, this endpoint will return all events for the given subscription. |
scheme_identifier | string | ID of a scheme identifier. If specified, this endpoint will return all events for the given scheme identifier. |
parent_event | string | ID of an event. If specified, this endpoint will return all events whose parent_event is the given event ID. |
action | string | Limit to events with a given |
resource_type | object | |
include | object | Includes linked resources in the response. Must be used with the |
Response 200
Successful response
eventsarray10 properties
idstring
Unique identifier, beginning with "EV".
created_atstring
Fixed timestamp, recording when this resource was created.
resource_typeenum
The resource type for this event.
billing_requestscreditorscustomersexportsinstalment_schedulesmandatesorganisationsoutbound_paymentspayer_authorisationspaymentspayment_account_transactionspayoutsrefundsscheme_identifierssubscriptionsactionstring
What has happened to the resource. See Event Types for the possible actions.
customer_notificationsarray | null
Present only in webhooks when an integrator is authorised to send their own notifications. See here for further information.
4 properties
idobjecttypestring
See here for a complete list of customer notification types.
mandatoryboolean
Whether or not the notification must be sent.
deadlinestring
Time after which GoCardless will send the notification by email.
detailsobject
11 properties
originenum
Who initiated the event. One of:
bank: this event was triggered by a report from the banksgocardless: this event was performed by GoCardless automaticallyapi: this event was triggered by an API endpointcustomer: this event was triggered by a Customerpayer: this event was triggered by a Payer
bankapigocardlesscustomerpayercausestring
What triggered the event. Note: cause is our simplified and predictable key indicating what triggered the event.
descriptionstring
Human readable description of the cause. Note: Changes to event descriptions are not considered breaking.
schemeenum | null
A bank payment scheme. Set when a bank is the origin of the event.
achautogirobacsbecsbecs_nzbetalingsservicefaster_paymentspadpay_tosepa_coresepa_cor1sepa_credit_transfersepa_instant_credit_transferreason_codestring
Set when a bank is the origin of the event. This is the reason code received in the report from the customer's bank. See the GoCardless Direct Debit guide for information on the meanings of different reason codes. Note: reason_code is payment scheme-specific and can be inconsistent between banks.
will_attempt_retryboolean
Whether the payment will be retried automatically. Set on a payment failed event.
not_retried_reasonstring
When will_attempt_retry is set to false, this field will contain the reason the payment was not retried. This can be one of:
failure_filter_applied: The payment won't be intelligently retried as there is a high likelihood of failure on retry.other: The payment won't be intelligently retried due to any other reason.
bank_account_idstring
When we send a creditor new_payout_currency_added webhook, we also send the bank account id of the new account
currencystring
When we send a creditor new_payout_currency_added webhook, we also send the currency of the new account
propertystring
When we send a creditor creditor_updated webhook, this tells you which property on the creditor has been updated
item_countinteger
Count of rows in the csv. This is sent for export events
metadataobject
The metadata that was passed when making the API request that triggered the event (for instance, cancelling a mandate).
This field will only be populated if the details[origin] field is api otherwise it will be an empty object.
resource_metadataobject
The metadata of the resource that the event is for. For example, this field will have the same
value of the mandate[metadata] field on the response you would receive from performing a GET request on a mandate.
sourceobject
Audit information about the source of the event.
2 properties
typeenum
The type of the event's source.
appusergc_teamaccess_tokenbilling_requestbilling_request_flowdropinhosted_payment_pagenamestring
The name of the event's source.
linksobject
24 properties
billing_requeststring
ID of a billing request.
billing_request_flowstring
ID of a billing request flow.
bank_authorisationstring
ID of a bank authorisation.
payment_request_paymentstring
If resource_type is billing_requests, this is the ID of the payment which has been created for Pay by Bank.
mandate_requeststring
This is the id of the mandate request associated to this event
mandate_request_mandatestring
If resource_type is billing_requests, this is the ID of the mandate which has been created.
customerstring
ID of a customer.
customer_bank_accountstring
ID of a customer bank account.
paymentstring
If resource_type is payments, this is the ID of the payment which has been updated.
mandatestring
If resource_type is mandates, this is the ID of the mandate which has been updated.
payer_authorisationstring
ID of a payer authorisation.
payoutstring
If resource_type is payouts, this is the ID of the payout which has been updated.
refundstring
If resource_type is refunds, this is the ID of the refund which has been updated.
subscriptionstring
If resource_type is subscription, this is the ID of the subscription which has been updated.
instalment_schedulestring
If resource_type is instalment_schedule, this is the ID of the instalment schedule which has been updated.
creditorstring
If resource_type is creditor, this is the ID of the creditor which has been updated.
parent_eventstring
If this event was caused by another, this is the ID of the cause. For example, if a mandate is cancelled it automatically cancels all pending payments associated with it; in this case, the payment cancellation events would have the ID of the mandate cancellation event in this field.
previous_customer_bank_accountstring
This is only included for mandate transfer events, when it is the ID of the customer bank account which the mandate is being transferred from.
new_customer_bank_accountstring
This is only included for mandate transfer events, when it is the ID of the customer bank account which the mandate is being transferred to.
new_mandatestring
This is only included for mandate replaced events, when it is the ID of the new mandate that replaces the existing mandate.
organisationstring
outbound_paymentstring
If resource_type is outbound_payments, this is the ID of the outbound_payment which has been updated.
payment_account_transactionstring
If resource_type is payment_account_transaction, this is the ID of a transaction which has been recorded on the payment account.
scheme_identifierstring
If resource_type is scheme_identifiers, this is the ID of the scheme_identifier which has been updated.
metaobject2 properties
limitintegerrequiredcursorsobjectrequired
2 properties
beforestring | nullrequired
Cursor pointing to the end of the desired set.
afterstring | nullrequired
Cursor pointing to the start of the desired set.
linkedobject13 properties
billing_requestsarray
A list of billing requests linked to the events returned in the list of events.
16 properties
idstringrequired
Unique identifier, beginning with "BRQ".
purpose_codeenum
Specifies the high-level purpose/category of a mandate and/or payment using a set of pre-defined categories. Provides context on the nature and reason for the payment to facilitate processing and compliance. See Billing Request Purpose Codes for the complete list of valid codes.
mortgageutilityloandependant_supportgamblingretailsalarypersonalgovernmentpensiontaxotherbonus_paymentcash_management_transfercard_bulk_clearingcredit_card_paymenttrade_settlement_paymentdebit_card_paymentdividenddeliver_against_paymentepaymentfee_collection_and_interestfee_collectionperson_to_person_paymentgovernment_paymenthedging_transactionirrevocable_credit_card_paymentirrevocable_debit_card_paymentintra_company_paymentinterestlockbox_transactionscommercialconsumerother_paymentpension_paymentrepresentedreimbursement_received_credit_transferreceive_against_paymentsalary_paymentsecuritiessocial_security_benefitsupplier_paymenttax_paymenttradetreasury_paymentvalue_added_tax_paymentwith_holdingcash_management_sweep_accountcash_management_top_accountcash_management_zero_balance_accountcrossborder_mi_paymentsforeign_currency_domestic_transfercash_in_pre_creditcash_out_notes_coinscarrier_guarded_wholesale_valuablespayment_purpose_codestring
Specifies the underlying purpose of the payment. Defines the specific reason or type of service/goods the payment relates to, improving straight-through processing and compliance. See VRP Commercial Payment Purpose Codes for the complete list of valid codes.
payment_context_codeenum
Specifies the context or scenario in which the payment is being made. Defines whether the payment is for advance/arrears billing, point of sale transactions, ecommerce, or account transfers. This helps banks and payment processors understand the payment scenario and apply appropriate processing rules and risk controls.
billing_goods_and_services_in_advancebilling_goods_and_services_in_arrearsface_to_face_point_of_saleecommerce_merchant_initiated_paymenttransfer_to_selftransfer_to_third_partycreated_atstring
Fixed timestamp, recording when this resource was created.
statusenum
One of:
pending: the billing request is pending and can be usedready_to_fulfil: the billing request is ready to fulfilfulfilling: the billing request is currently undergoing fulfilmentfulfilled: the billing request has been fulfilled and a payment createdcancelled: the billing request has been cancelled and cannot be used
pendingready_to_fulfilfulfillingfulfilledcancelledmetadataobject | null
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
mandate_requestobject | null
Request for a mandate
12 properties
descriptionobjectcurrencyobjectschemeobjectsweepingobjectverifyobjectlinksobjectmetadataobjectconsent_typeobjectconstraintsobjectpayer_requested_dual_signatureobjectauthorisation_sourceobjectfunds_settlementobjectpayment_requestobject | null
Request for a one-off strongly authorised payment
10 properties
descriptionobjectcurrencyobjectschemeobjectamountobjectlinksobjectapp_feeobjectmetadataobjectreferenceobjectfunds_settlementobjectretry_if_possibleobjectsubscription_requestobject | null
Request for a subscription
14 properties
amountobjectcurrencyobjectinterval_unitobjectintervalobjectapp_feeobjectcountobjectday_of_monthobjectmetadataobjectlinksobjectmonthobjectnameobjectpayment_referenceobjectstart_dateobjectretry_if_possibleobjectinstalment_schedule_requestobject | null
Request for an instalment schedule. Has to contain either instalments_with_schedule object or an array of instalments_with_dates objects
10 properties
nameobjectcurrencyobjecttotal_amountobjectpayment_referenceobjectapp_feeobjectinstalments_with_datesobjectinstalments_with_scheduleobjectmetadataobjectlinksobjectretry_if_possibleobjectactionsarray
List of actions that can be performed before this billing request can be fulfilled.
resourcesobject
3 properties
customerobjectcustomer_billing_detailobjectcustomer_bank_accountobjectlinksobject
15 properties
customerobjectcustomer_billing_detailobjectcreditorobjectorganisationobjectcustomer_bank_accountobjectbank_authorisationobjectpayment_requestobjectpayment_request_paymentobjectmandate_requestobjectmandate_request_mandateobjectsubscription_requestobjectsubscription_request_subscriptionobjectinstalment_schedule_requestobjectinstalment_schedule_request_instalment_scheduleobjectpayment_providerobjectfallback_enabledboolean
(Optional) If true, this billing request can fallback from instant payment to direct debit. Should not be set if GoCardless payment intelligence feature is used.
See Billing Requests: Retain customers with Fallbacks for more information.
fallback_occurredboolean
True if the billing request was completed with direct debit.
creditorsarray
A list of creditors linked to the events returned in the list of events.
21 properties
idstring
Unique identifier, beginning with "CR".
created_atstring
Fixed timestamp, recording when this resource was created.
namestring
The creditor's trading name.
address_line1string | null
The first line of the creditor's address.
address_line2string | null
The second line of the creditor's address.
address_line3string | null
The third line of the creditor's address.
citystring | null
The city of the creditor's address.
regionstring | null
The creditor's address region, county or department.
postal_codestring | null
The creditor's postal code.
country_codestring | null
can_create_refundsboolean
Boolean indicating whether the creditor is permitted to create refunds.
bank_reference_prefixstring
Prefix for the bank reference of payouts sent to this creditor. For instance, if
the creditor's bank_reference_prefix was ACME, the bank reference of a payout
sent to that creditor could be ACME-8G7Q8.
This prefix is also used for refunds in EUR and GBP.
linksobject
8 properties
default_aud_payout_accountobjectdefault_gbp_payout_accountobjectdefault_eur_payout_accountobjectdefault_sek_payout_accountobjectdefault_dkk_payout_accountobjectdefault_nzd_payout_accountobjectdefault_cad_payout_accountobjectdefault_usd_payout_accountobjectscheme_identifiersarray
An array of the scheme identifiers this creditor can create mandates against.
The support address, phone_number and email fields are for customers to contact the merchant for support purposes. They must be displayed on the payment page, please see our compliance requirements for more details.
logo_urlstring | null
URL for the creditor's logo, which may be shown on their payment pages.
verification_statusenum
The creditor's verification status, indicating whether they can yet receive payouts. For more details on handling verification as a partner, see our "Helping your users get verified" guide. One of:
successful: The creditor's account is fully verified, and they can receive payouts. Once a creditor has been successfully verified, they may in the future require further verification - for example, if they change their payout bank account, we will have to check that they own the new bank account before they can receive payouts again.in_review: The creditor has provided all of the information currently requested, and it is awaiting review by GoCardless before they can be verified and receive payouts.action_required: The creditor needs to provide further information to verify their account so they can receive payouts, and should visit the verification flow.
successfulin_reviewaction_requiredmerchant_responsible_for_notificationsboolean
Boolean value indicating whether the organisation is responsible for sending all customer notifications (note this is separate from the functionality described here). If you are a partner app, and this value is true, you should not send notifications on behalf of this organisation.
mandate_imports_enabledboolean
Boolean value indicating whether creditor has the Mandate Imports functionality enabled.
custom_payment_pages_enabledboolean
Boolean value indicating whether creditor has the Custom Payment Pages functionality enabled.
fx_payout_currencyenum | null
ISO 4217 code for the currency in which amounts will be paid out (after foreign exchange). Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported. Present only if payouts will be (or were) made via foreign exchange.
AUDCADDKKEURGBPNZDSEKUSDcreditor_typeenum | null
The type of business of the creditor. Currently, individual, company, charity, partnership, and trust are supported.
companyindividualcharitypartnershiptrustinstalment_schedulesarray
A list of instalment schedules linked to the events returned in the list of events.
9 properties
idstring
Unique identifier, beginning with "IS".
created_atstring
Fixed timestamp, recording when this resource was created.
total_amountinteger
The total amount of the instalment schedule, defined as the sum of all individual payments, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR). If the requested payment amounts do not sum up correctly, a validation error will be returned.
namestring
Name of the instalment schedule, up to 100 chars. This name will also be copied to the payments of the instalment schedule if you use schedule-based creation.
currencyenum
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
AUDCADDKKEURGBPNZDSEKUSDmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
statusenum
One of:
pending: we're waiting for GC to create the paymentsactive: the payments have been created, and the schedule is activecreation_failed: payment creation failedcompleted: we have passed the date of the final payment and all payments have been collectedcancelled: the schedule has been cancellederrored: one or more payments have failed
pendingactivecreation_failedcompletedcancellederroredpayment_errorsobject
If the status is creation_failed, this property will be populated with validation
failures from the individual payments, arranged by the index of the payment that
failed.
linksobject
Links to associated objects
3 properties
mandateobjectrequiredcustomerobjectrequiredpaymentsobjectmandatesarray
A list of mandates linked to the events returned in the list of events.
16 properties
idstring
Unique identifier, beginning with "MD". Note that this prefix may not apply to mandates created before 2016.
created_atstring
Fixed timestamp, recording when this resource was created.
referencestring | null
Unique reference. Different schemes have different length and character set requirements. GoCardless will generate a unique reference satisfying the different scheme requirements if this field is left blank.
statusenum
One of:
pending_customer_approval: the mandate has not yet been signed by the second customerpending_submission: the mandate has not yet been submitted to the customer's banksubmitted: the mandate has been submitted to the customer's bank but has not been processed yetactive: the mandate has been successfully set up by the customer's banksuspended_by_payer: the mandate has been suspended by payerfailed: the mandate could not be createdcancelled: the mandate has been cancelledexpired: the mandate has expired due to dormancyconsumed: the mandate has been consumed and cannot be reused (note that this only applies to schemes that are per-payment authorised)blocked: the mandate has been blocked and payments cannot be created
pending_customer_approvalpending_submissionsubmittedactivefailedcancelledexpiredconsumedblockedsuspended_by_payerschemestring | null
mandate_typeenum | null
Mandate type
bank_debitinstantrecurringvrp_commercialvrp_sweepingnext_possible_charge_datestring | null
The earliest date that can be used as a charge_date on any newly created payment for this mandate. This value will change over time.
next_possible_standard_ach_charge_datestring | null
If this is an ACH mandate, the earliest date that can be used as a
charge_date on any newly created payment to be charged through standard
ACH, rather than Faster ACH. This value will change over time.
It is only present in the API response for ACH mandates.
payments_require_approvalboolean
Boolean value showing whether payments and subscriptions under this mandate require approval via an automated email before being processed.
verified_atstring | null
Timestamp recording when this mandate was verified.
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
linksobject
4 properties
customer_bank_accountobjectcreditorobjectnew_mandateobjectcustomerobjectconsent_parametersobject | null
(Optional) Payto and VRP Scheme specific information
11 properties
idobjectschemeobjectcurrencyobjectfixed_amount_per_paymentobjectmax_amount_per_paymentobjectperiodobjectmax_amount_per_periodobjectmax_payments_per_periodobjectstart_dateobjectend_dateobjectperiod_alignmentobjectauthorisation_sourceenum
This field is ACH specific, sometimes referred to as SEC code.
This is the way that the payer gives authorisation to the merchant. web: Authorisation is Internet Initiated or via Mobile Entry (maps to SEC code: WEB) telephone: Authorisation is provided orally over telephone (maps to SEC code: TEL) paper: Authorisation is provided in writing and signed, or similarly authenticated (maps to SEC code: PPD)
webtelephonepaperfunds_settlementenum
This field will decide how GoCardless handles settlement of funds from the customer.
managedwill be moved through GoCardless' account, batched, and payed out.directwill be a direct transfer from the payer's account to the merchant where invoicing will be handled separately.
manageddirectconsent_typeenum | null
(Optional) Specifies the type of authorisation agreed between the payer and merchant. It can be set to one-off, recurring or standing for ACH, or single, recurring and sporadic for PAD.
one_offsinglerecurringstandingsporadicoutbound_paymentsarray
A list of outbound payments linked to the events returned in the list of events.
13 properties
idstringrequired
Unique identifier of the outbound payment.
created_atstring
Fixed timestamp, recording when the outbound payment was created.
statusenum
One of:
verifying: The payment has been created and the verification process has begun.pending_approval: The payment is awaiting approval.scheduled: The payment has passed verification & approval, but processing has not yet begun.executing: The execution date has arrived and the payment has been placed in queue for processing.executed: The payment has been accepted by the scheme and is now on its way to the recipient.cancelled: The payment has been cancelled or was not approved on time.failed: The payment was not sent, usually due to an error while or after executing.
verifyingpending_approvalscheduledexecutingexecutedcancelledfailedamountinteger
Amount, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
schemeenum
Bank payment scheme to process the outbound payment. Currently only "faster_payments" (GBP) is supported.
faster_paymentscurrencyenum
ISO 4217 currency. Currently only "GBP" is supported.
GBPexecution_datestring
A future date on which the outbound payment should be sent. If not specified, the payment will be sent as soon as possible.
descriptionstring
A human-readable description of the outbound payment
referencestring
An optional reference that will appear on your customer's bank statement.
The character limit for this reference is dependent on the scheme.
Faster Payments - 18 characters, including: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 &-./"
is_withdrawalboolean
Indicates whether the outbound payment is a withdrawal to your verified business bank account.
linksobject
4 properties
creditorobjectcustomerobjectrecipient_bank_accountobjectoutbound_payment_importobjectverificationsobject | null
Contains details of the verifications performed for the outbound payment
1 properties
recipient_bank_account_holder_verificationobjectmetadataobject | null
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
payer_authorisationsarray
A list of payer authorisations linked to the events returned in the list of events.
8 properties
idstringrequired
Unique identifier, beginning with "PA".
created_atstring | nullrequired
Timestamp, recording when this Payer Authorisation was created.
customerobjectrequired
All details required for the creation of a Customer.
15 properties
emailobjectgiven_nameobjectfamily_nameobjectcompany_nameobjectaddress_line1objectaddress_line2objectaddress_line3objectcityobjectregionobjectpostal_codeobjectcountry_codeobjectlocaleobjectswedish_identity_numberobjectdanish_identity_numberobjectmetadataobjectbank_accountobjectrequired
All details required for the creation of a Customer Bank Account.
12 properties
account_holder_nameobjectaccount_numberobjectaccount_number_endingobjectaccount_number_suffixobjectbank_codeobjectbranch_codeobjectibanobjectcountry_codeobjectcurrencyobjectaccount_typeobjectbank_nameobjectmetadataobjectmandateobjectrequired
All details required for the creation of a Mandate.
4 properties
referenceobjectschemeobjectpayer_ip_addressobjectmetadataobjectincomplete_fieldsarrayrequired
An array of fields which are missing and is required to set up the mandate.
linksobjectrequired
IDs of the created resources. Available after the Payer Authorisation is completed.
3 properties
customerobjectbank_accountobjectmandateobjectstatusenumrequired
One of:
created: The PayerAuthorisation has been created, and not been confirmed yetsubmitted: The payer information has been submittedconfirmed: PayerAuthorisation is confirmed and resources are ready to be createdcompleted: The PayerAuthorisation has been completed and customer, bank_account and mandate has been createdfailed: The PayerAuthorisation has failed and customer, bank_account and mandate is not created
createdsubmittedconfirmedcompletedfailedpayment_account_transactionsarray
A list of payment account transactions linked to the events returned in the list of events.
10 properties
idstring
The unique ID of the payment account transaction.
value_datestring
The date of when the transaction occurred.
referencestring
The reference of the transaction. This is typically supplied by the sender.
descriptionstring
The description of the transaction, if available
counterparty_namestring
The name of the counterparty of the transaction. The counterparty is the recipient for a credit, or the sender for a debit.
linksobject
3 properties
payoutobjectoutbound_paymentobjectpayment_bank_accountobjectcurrencyenum
The currency of the transaction.
GBPdirectionenum
The direction of the transaction. Debits mean money leaving the account (e.g. outbound payment), while credits signify money coming in (e.g. manual top-up).
creditdebitamountinteger
Amount, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
balance_after_transactioninteger
Balance after transaction, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
paymentsarray
A list of payments linked to the events returned in the list of events.
16 properties
idstringrequired
Unique identifier, beginning with "PM".
created_atstringrequired
Fixed timestamp, recording when this resource was created.
amountintegerrequired
Amount, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
Minimum and maximum amounts vary by payment scheme. For more information, see Transaction limits
For Variable Recurring Payments (VRP), this must not exceed the mandate's max_amount_per_payment
constraint.
amount_refundedintegerrequired
Amount refunded, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
currencyenumrequired
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
AUDCADDKKEURGBPNZDSEKUSDdescriptionstring | nullrequired
A human-readable description of the payment. This will be included in the notification email GoCardless sends to your customer if your organisation does not send its own notifications (see compliance requirements).
charge_datestring | nullrequired
A future date on which the payment should be collected. If not specified, the payment will be collected as soon as possible. If the value is before the mandate's next_possible_charge_date creation will fail. If the value is not a working day it will be rolled forwards to the next available one.
referencestring | nullrequired
An optional reference that will appear on your customer's bank statement. The character limit for this reference is dependent on the scheme.
ACH - 10 characters
Autogiro - 11 characters
Bacs - 10 characters
BECS - 30 characters
BECS NZ - 12 characters
Betalingsservice - 30 characters
Faster Payments - 18 characters
PAD - scheme doesn't offer references
PayTo - 18 characters
SEPA - 140 characters
Note that this reference must be unique (for each merchant) for the BECS scheme as it is a scheme requirement.
Restricted: You can only specify a payment reference for Bacs payments (that is, when collecting from the UK) if you're on the GoCardless Plus, Pro or Enterprise packages.
Restricted: You can not specify a payment reference for Faster Payments.
metadataobjectrequired
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
statusenumrequired
One of:
pending_customer_approval: we're waiting for the customer to approve this paymentpending_submission: the payment has been created, but not yet submitted to the bankssubmitted: the payment has been submitted to the banksconfirmed: the payment has been confirmed as collectedpaid_out: the payment has been included in a payoutcancelled: the payment has been cancelledcustomer_approval_denied: the customer has denied approval for the payment. You should contact the customer directlyfailed: the payment failed to be processed. Note that payments can fail after being confirmed if the failure message is sent late by the banks.charged_back: the payment has been charged back
pending_customer_approvalpending_submissionsubmittedconfirmedpaid_outcancelledcustomer_approval_deniedfailedcharged_backapp_feeinteger | null
The amount to be deducted from the payment as the OAuth app''s fee, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
Only present if the payment was created via an app.
linksobjectrequired
5 properties
mandateobjectcreditorobjectpayoutobjectsubscriptionobjectinstalment_scheduleobjectfaster_achboolean | null
This field indicates whether the ACH payment is processed through Faster ACH or standard ACH.
It is only present in the API response for ACH payments.
fxobjectrequired
4 properties
exchange_rateobjectestimated_exchange_rateobjectfx_amountobjectfx_currencyobjectretry_if_possiblebooleanrequired
On failure, automatically retry the payment using intelligent retries. Default is false.
schemestring | nullrequired
A bank payment scheme. Currently "ach", "autogiro", "bacs", "becs", "becs_nz", "betalingsservice", "faster_payments", "pad", "pay_to", "sepa_core", "sepa_credit_transfer" and "sepa_instant_credit_transfer" are supported.
payoutsarray
A list of payouts linked to the events returned in the list of events.
13 properties
idstringrequired
Unique identifier, beginning with "PO".
created_atstringrequired
Fixed timestamp, recording when this resource was created.
amountintegerrequired
Amount in minor unit (e.g. pence in GBP, cents in EUR).
deducted_feesintegerrequired
Fees that have already been deducted from the payout amount in minor unit (e.g. pence in GBP, cents in EUR), inclusive of tax if applicable.
For each late_failure_settled or chargeback_settled action, we refund the transaction fees in a payout. This means that a payout can have a negative deducted_fees value.
This field is calculated as (GoCardless fees + app fees + surcharge fees) - (refunded fees)
If the merchant is invoiced for fees separately from the payout, then deducted_fees will be 0.
currencyenumrequired
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
AUDCADDKKEURGBPNZDSEKUSDreferencestringrequired
Reference which appears on the creditor's bank statement.
statusenumrequired
One of:
pending: the payout has been created, but not yet sent to your bank or it is in the process of being exchanged through our FX provider.paid: the payout has been sent to the your bank. FX payouts will becomepaidafter we emit thefx_rate_confirmedwebhook.bounced: the payout bounced when sent, the payout can be retried.
pendingpaidbouncedpayout_typeenumrequired
Whether a payout contains merchant revenue or partner fees.
merchantpartnerarrival_datestring | nullrequired
Date the payout is due to arrive in the creditor's bank account. One of:
yyyy-mm-dd: the payout has been paid and is due to arrive in the creditor's bank account on this daynull: the payout hasn't been paid yet
linksobjectrequired
2 properties
creditorobjectcreditor_bank_accountobjectfxobjectrequired
4 properties
exchange_rateobjectestimated_exchange_rateobjectfx_amountobjectfx_currencyobjecttax_currencystring | nullrequired
ISO 4217 code for the currency in which tax is paid out to the tax authorities of your tax jurisdiction. Currently “EUR”, “GBP”, for French or British merchants, this will be null if tax is not applicable beta
metadataobjectrequired
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters. Note: This should not be used for storing PII data.
refundsarray
A list of refunds linked to the events returned in the list of events.
9 properties
idstringrequired
Unique identifier, beginning with "RF".
created_atstringrequired
Fixed timestamp, recording when this resource was created.
amountintegerrequired
Amount in minor unit (e.g. pence in GBP, cents in EUR).
statusenumrequired
One of:
created: the refund has been createdpending_submission: the refund has been created, but not yet submitted to the bankssubmitted: the refund has been submitted to the bankspaid: the refund has been included in a payoutcancelled: the refund has been cancelledbounced: the refund has failed to be paidfunds_returned: the refund has had its funds returned
createdpending_submissionsubmittedpaidcancelledbouncedfunds_returnedreferencestring | nullrequired
An optional reference that will appear on your customer's bank statement. The character limit for this reference is dependent on the scheme.
ACH - 10 characters
Autogiro - 11 characters
Bacs - 10 characters
BECS - 30 characters
BECS NZ - 12 characters
Betalingsservice - 30 characters
Faster Payments - 18 characters
PAD - scheme doesn't offer references
PayTo - 18 characters
SEPA - 140 characters
Note that this reference must be unique (for each merchant) for the BECS scheme as it is a scheme requirement.
Restricted: You can only specify a payment reference for Bacs payments (that is, when collecting from the UK) if you're on the GoCardless Plus, Pro or Enterprise packages.
Restricted: You can not specify a payment reference for Faster Payments.
metadataobjectrequired
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
linksobjectrequired
2 properties
paymentobjectmandateobjectfxobjectrequired
4 properties
exchange_rateobjectestimated_exchange_rateobjectfx_amountobjectfx_currencyobjectsubscriptionsarray
A list of subscriptions linked to the events returned in the list of events.
21 properties
idstring
Unique identifier, beginning with "SB".
created_atstring
Fixed timestamp, recording when this resource was created.
amountinteger
Amount in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
namestring | null
Optional name for the subscription. This will be set as the description on each payment created. Must not exceed 255 characters.
start_datestring | null
The date on which the first payment should be charged. Must be on or after the mandate's next_possible_charge_date. When left blank and month or day_of_month are provided, this will be set to the date of the first payment. If created without month or day_of_month this will be set as the mandate's next_possible_charge_date
end_datestring | null
Date on or after which no further payments should be created.
If this field is blank and count is not specified, the subscription will continue forever.
intervalinteger
Number of interval_units between customer charge dates. Must be greater than or equal to 1. Must result in at least one charge date per year. Defaults to 1.
interval_unitenum
The unit of time between customer charge dates. One of weekly, monthly or yearly.
weeklymonthlyyearlyday_of_monthinteger | null
As per RFC 2445. The day of the month to charge customers on. 1-28 or -1 to indicate the last day of the month.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
monthenum | null
Name of the month on which to charge a customer. Must be lowercase. Only applies
when the interval_unit is yearly.
januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecembercountinteger | null
The total number of payments that should be taken by this subscription.
payment_referencestring | null
An optional payment reference. This will be set as the reference on each payment
created and will appear on your customer's bank statement. See the documentation for
the create payment endpoint for more details.
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
statusenum
One of:
pending_customer_approval: the subscription is waiting for customer approval before becoming activecustomer_approval_denied: the customer did not approve the subscriptionactive: the subscription is currently active and will continue to create paymentsfinished: all of the payments scheduled for creation under this subscription have been createdcancelled: the subscription has been cancelled and will no longer create paymentspaused: the subscription has been paused and will not create payments
pending_customer_approvalcustomer_approval_deniedactivefinishedcancelledpausedupcoming_paymentsarray
Up to 10 upcoming payments with their amounts and charge dates.
app_feeinteger | null
The amount to be deducted from each payment as an app fee, to be paid to the partner integration which created the subscription, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
linksobject
1 properties
mandateobjectretry_if_possibleboolean
On failure, automatically retry payments using intelligent retries. Default is false.
earliest_charge_date_after_resumestring | null
The earliest date that will be used as a charge_date on payments
created for this subscription if it is resumed. Only present for paused subscriptions.
This value will change over time.
parent_plan_pausedboolean
Whether the parent plan of this subscription is paused.
scheme_identifiersarray
A list of scheme identifiers linked to the events returned in the list of events.
18 properties
idstringrequired
Unique identifier, usually beginning with "SU".
created_atstringrequired
Fixed timestamp, recording when this resource was created.
namestringrequired
The name which appears on customers' bank statements. This should usually be the merchant's trading name.
schemeenumrequired
The scheme which this scheme identifier applies to.
achautogirobacsbecsbecs_nzbetalingsservicefaster_paymentspadpay_tosepasepa_credit_transfersepa_instant_credit_transferreferencestring | nullrequired
The scheme-unique identifier against which payments are submitted.
statusenumrequired
The status of the scheme identifier. Only active scheme identifiers will be applied to a creditor and used against payments.
pendingactiveminimum_advance_noticeintegerrequired
The minimum interval, in working days, between the sending of a pre-notification to the customer, and the charge date of a payment using this scheme identifier.
By default, GoCardless sends these notifications automatically. Please see our compliance requirements for more details.
can_specify_mandate_referencebooleanrequired
Whether a custom reference can be submitted for mandates using this scheme identifier.
currencyenumrequired
The currency of the scheme identifier.
AUDCADDKKEURGBPNZDSEKUSDaddress_line1string | nullrequired
The first line of the scheme identifier's support address.
address_line2string | nullrequired
The second line of the scheme identifier's support address.
address_line3string | nullrequired
The third line of the scheme identifier's support address.
citystring | nullrequired
The city of the scheme identifier's support address.
regionstring | nullrequired
The scheme identifier's support address region, county or department.
postal_codestring | nullrequired
The scheme identifier's support postal code.
country_codestring | nullrequired
emailstring | nullrequired
Scheme identifier's support email address.
phone_numberstring | nullrequired
Scheme identifier's support phone number.
customersarray
A list of customers linked to the events returned in the list of events.
18 properties
idstring
Unique identifier, beginning with "CU".
created_atstring
Fixed timestamp, recording when this resource was created.
emailstring | null
Customer's email address. Required in most cases, as this allows GoCardless to send notifications to this customer.
given_namestring | null
Customer's first name. Required unless a company_name is provided.
family_namestring | null
Customer's surname. Required unless a company_name is provided.
company_namestring | null
Customer's company name. Required unless a given_name and family_name are provided. For Canadian customers, the use of a company_name value will mean that any mandate created from this customer will be considered to be a "Business PAD" (otherwise, any mandate will be considered to be a "Personal PAD").
address_line1string | null
The first line of the customer's address.
address_line2string | null
The second line of the customer's address.
address_line3string | null
The third line of the customer's address.
citystring | null
The city of the customer's address.
regionstring | null
The customer's address region, county or department. For US customers a 2 letter ISO3166-2:US state code is required (e.g. CA for California).
postal_codestring | null
The customer's postal code.
country_codestring | null
languagestring | null
ISO 639-1 code. Used as the language for notification emails sent by GoCardless if your organisation does not send its own (see compliance requirements). Currently only "en", "fr", "de", "pt", "es", "it", "nl", "da", "nb", "sl", "sv" are supported. If this is not provided, the language will be chosen based on the country_code (if supplied) or default to "en".
phone_numberstring | null
ITU E.123 formatted phone number, including country code.
swedish_identity_numberstring | null
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer. Must be supplied if the customer's bank account is denominated in Swedish krona (SEK). This field cannot be changed once it has been set.
danish_identity_numberstring | null
For Danish customers only. The civic/company number (CPR or CVR) of the customer. Must be supplied if the customer's bank account is denominated in Danish krone (DKK).
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
Errors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
errorobjectrequiredGeneric error
6 properties
codeintegerdocumentation_urlstringerrorsarrayrequired
6 properties
reasonstringfieldstringrequest_pointerstringmessagestringrequiredmetadataobjectlinksobjectmessagestringrequiredrequest_idstringrequiredtypestringGet a single event#
/events/{event_id}Retrieves the details of a single event.
Path Parameters
| Name | Type | Description |
|---|---|---|
event_id | stringrequired | The event id |
Response 200
Successful response
eventsobject10 properties
idstring
Unique identifier, beginning with "EV".
created_atstring
Fixed timestamp, recording when this resource was created.
resource_typeenum
The resource type for this event.
billing_requestscreditorscustomersexportsinstalment_schedulesmandatesorganisationsoutbound_paymentspayer_authorisationspaymentspayment_account_transactionspayoutsrefundsscheme_identifierssubscriptionsactionstring
What has happened to the resource. See Event Types for the possible actions.
customer_notificationsarray | null
Present only in webhooks when an integrator is authorised to send their own notifications. See here for further information.
4 properties
idobjecttypestring
See here for a complete list of customer notification types.
mandatoryboolean
Whether or not the notification must be sent.
deadlinestring
Time after which GoCardless will send the notification by email.
detailsobject
11 properties
originenum
Who initiated the event. One of:
bank: this event was triggered by a report from the banksgocardless: this event was performed by GoCardless automaticallyapi: this event was triggered by an API endpointcustomer: this event was triggered by a Customerpayer: this event was triggered by a Payer
bankapigocardlesscustomerpayercausestring
What triggered the event. Note: cause is our simplified and predictable key indicating what triggered the event.
descriptionstring
Human readable description of the cause. Note: Changes to event descriptions are not considered breaking.
schemeenum | null
A bank payment scheme. Set when a bank is the origin of the event.
achautogirobacsbecsbecs_nzbetalingsservicefaster_paymentspadpay_tosepa_coresepa_cor1sepa_credit_transfersepa_instant_credit_transferreason_codestring
Set when a bank is the origin of the event. This is the reason code received in the report from the customer's bank. See the GoCardless Direct Debit guide for information on the meanings of different reason codes. Note: reason_code is payment scheme-specific and can be inconsistent between banks.
will_attempt_retryboolean
Whether the payment will be retried automatically. Set on a payment failed event.
not_retried_reasonstring
When will_attempt_retry is set to false, this field will contain the reason the payment was not retried. This can be one of:
failure_filter_applied: The payment won't be intelligently retried as there is a high likelihood of failure on retry.other: The payment won't be intelligently retried due to any other reason.
bank_account_idstring
When we send a creditor new_payout_currency_added webhook, we also send the bank account id of the new account
currencystring
When we send a creditor new_payout_currency_added webhook, we also send the currency of the new account
propertystring
When we send a creditor creditor_updated webhook, this tells you which property on the creditor has been updated
item_countinteger
Count of rows in the csv. This is sent for export events
metadataobject
The metadata that was passed when making the API request that triggered the event (for instance, cancelling a mandate).
This field will only be populated if the details[origin] field is api otherwise it will be an empty object.
resource_metadataobject
The metadata of the resource that the event is for. For example, this field will have the same
value of the mandate[metadata] field on the response you would receive from performing a GET request on a mandate.
sourceobject
Audit information about the source of the event.
2 properties
typeenum
The type of the event's source.
appusergc_teamaccess_tokenbilling_requestbilling_request_flowdropinhosted_payment_pagenamestring
The name of the event's source.
linksobject
24 properties
billing_requeststring
ID of a billing request.
billing_request_flowstring
ID of a billing request flow.
bank_authorisationstring
ID of a bank authorisation.
payment_request_paymentstring
If resource_type is billing_requests, this is the ID of the payment which has been created for Pay by Bank.
mandate_requeststring
This is the id of the mandate request associated to this event
mandate_request_mandatestring
If resource_type is billing_requests, this is the ID of the mandate which has been created.
customerstring
ID of a customer.
customer_bank_accountstring
ID of a customer bank account.
paymentstring
If resource_type is payments, this is the ID of the payment which has been updated.
mandatestring
If resource_type is mandates, this is the ID of the mandate which has been updated.
payer_authorisationstring
ID of a payer authorisation.
payoutstring
If resource_type is payouts, this is the ID of the payout which has been updated.
refundstring
If resource_type is refunds, this is the ID of the refund which has been updated.
subscriptionstring
If resource_type is subscription, this is the ID of the subscription which has been updated.
instalment_schedulestring
If resource_type is instalment_schedule, this is the ID of the instalment schedule which has been updated.
creditorstring
If resource_type is creditor, this is the ID of the creditor which has been updated.
parent_eventstring
If this event was caused by another, this is the ID of the cause. For example, if a mandate is cancelled it automatically cancels all pending payments associated with it; in this case, the payment cancellation events would have the ID of the mandate cancellation event in this field.
previous_customer_bank_accountstring
This is only included for mandate transfer events, when it is the ID of the customer bank account which the mandate is being transferred from.
new_customer_bank_accountstring
This is only included for mandate transfer events, when it is the ID of the customer bank account which the mandate is being transferred to.
new_mandatestring
This is only included for mandate replaced events, when it is the ID of the new mandate that replaces the existing mandate.
organisationstring
outbound_paymentstring
If resource_type is outbound_payments, this is the ID of the outbound_payment which has been updated.
payment_account_transactionstring
If resource_type is payment_account_transaction, this is the ID of a transaction which has been recorded on the payment account.
scheme_identifierstring
If resource_type is scheme_identifiers, this is the ID of the scheme_identifier which has been updated.
Errors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
errorobjectrequiredGeneric error
6 properties
codeintegerdocumentation_urlstringerrorsarrayrequired
6 properties
reasonstringfieldstringrequest_pointerstringmessagestringrequiredmetadataobjectlinksobjectmessagestringrequiredrequest_idstringrequiredtypestring