---
title: "Get a single event"
method: GET
path: "/events/{event_id}"
tags: ["Event"]
---

# Get a single event

`GET /events/{event_id}`

## Request

- Base URL: `https://api.gocardless.com`
- URL: `https://api.gocardless.com/events/{event_id}`
- Auth: HTTP bearer

Retrieves the details of a single event.

## Path parameters

- `event_id` string, required

## Headers

- `GoCardless-Version` string, required

## Response `200`

Successful response

- EventSingleResourceResponse
  - `events` 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](https://docs.gocardless.com/docs/api-reference/events) for a complete list of event types. <p class="notice"><strong>Important</strong>: Events older than 18 months will be archived and no longer accessible via the API or exports. Archival will begin no sooner than 1 August 2026 in sandbox environments, and no sooner than 1 October 2026 in live environments. Events within the 18-month window are unaffected. If you need archived data, contact GoCardless support.</p>
    - `id` string: Unique identifier, beginning with "EV".
    - `created_at` string, date-time: Fixed [timestamp](https://docs.gocardless.com/docs/api-reference/data-conventions#dates-and-times), recording when this resource was created.
    - `resource_type` 'billing_requests' | 'creditors' | 'customers' | 'exports' | 'instalment_schedules' | 'mandates' | 'organisations' | 'outbound_payments' | 'payer_authorisations' | 'payments' | 'payment_account_transactions' | 'payouts' | 'refunds' | 'scheme_identifiers' | 'subscriptions': The resource type for this event.
    - `action` string: What has happened to the resource. See [Event Types](https://docs.gocardless.com/docs/api-reference/events) for the possible actions.
    - `customer_notifications` object[], nullable: Present only in webhooks when an integrator is authorised to send their own notifications. See [here](https://docs.gocardless.com/docs/tutorials/handling-customer-notifications) for further information.
      - `id` string: The id of the notification.
      - `type` string: See [here](https://docs.gocardless.com/docs/api-reference/customer-notification) for a complete list of customer notification types.
      - `mandatory` boolean: Whether or not the notification must be sent.
      - `deadline` string, date-time: Time after which GoCardless will send the notification by email.
    - `details` EventDetails
      - `origin` 'bank' | 'api' | 'gocardless' | 'customer' | 'payer': Who initiated the event. One of: - `bank`: this event was triggered by a report from the banks - `gocardless`: this event was performed by GoCardless automatically - `api`: this event was triggered by an API endpoint - `customer`: this event was triggered by a Customer - `payer`: this event was triggered by a Payer
      - `cause` string: What triggered the event. _Note:_ `cause` is our simplified and predictable key indicating what triggered the event.
      - `description` string: Human readable description of the cause. _Note:_ Changes to event descriptions are not considered breaking.
      - `scheme` 'ach' | 'autogiro' | 'bacs' | 'becs' | 'becs_nz' | 'betalingsservice' | 'faster_payments' | 'pad' | 'pay_to' | 'sepa_core' | 'sepa_cor1' | 'sepa_credit_transfer' | 'sepa_instant_credit_transfer', nullable: A bank payment scheme. Set when a bank is the origin of the event.
      - `reason_code` string: 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](https://gocardless.com/direct-debit/receiving-messages) for information on the meanings of different reason codes. _Note:_ `reason_code` is payment scheme-specific and can be inconsistent between banks.
      - `will_attempt_retry` boolean: Whether the payment will be retried automatically. Set on a payment failed event.
      - `not_retried_reason` string: 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_id` string: When we send a creditor `new_payout_currency_added` webhook, we also send the bank account id of the new account
      - `currency` string: When we send a creditor `new_payout_currency_added` webhook, we also send the currency of the new account
      - `property` string: When we send a creditor `creditor_updated` webhook, this tells you which property on the creditor has been updated
      - `item_count` integer: Count of rows in the csv. This is sent for export events
    - `metadata` EventMetadata: 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_metadata` EventResourceMetadata: 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.
    - `source` EventSource: Audit information about the source of the event.
      - `type` 'app' | 'user' | 'gc_team' | 'access_token' | 'billing_request' | 'billing_request_flow' | 'dropin' | 'hosted_payment_page': The type of the event's source.
      - `name` string: The name of the event's source.
    - `links` EventLinks
      - `billing_request` string: ID of a [billing request](https://docs.gocardless.com/docs/api-reference/billing-request).
      - `billing_request_flow` string: ID of a [billing request flow](https://docs.gocardless.com/docs/api-reference/billing-request-flow).
      - `bank_authorisation` string: ID of a [bank authorisation](https://docs.gocardless.com/docs/api-reference/bank-authorisation).
      - `payment_request_payment` string: If `resource_type` is `billing_requests`, this is the ID of the [payment](https://docs.gocardless.com/docs/api-reference/payment) which has been created for Pay by Bank.
      - `mandate_request` string: This is the id of the mandate request associated to this event
      - `mandate_request_mandate` string: If `resource_type` is `billing_requests`, this is the ID of the [mandate](https://docs.gocardless.com/docs/api-reference/mandate) which has been created.
      - `customer` string: ID of a [customer](https://docs.gocardless.com/docs/api-reference/customer).
      - `customer_bank_account` string: ID of a [customer bank account](https://docs.gocardless.com/docs/api-reference/customer-bank-account).
      - `payment` string: If `resource_type` is `payments`, this is the ID of the [payment](https://docs.gocardless.com/docs/api-reference/payment) which has been updated.
      - `mandate` string: If `resource_type` is `mandates`, this is the ID of the [mandate](https://docs.gocardless.com/docs/api-reference/mandate) which has been updated.
      - `payer_authorisation` string: ID of a [payer authorisation](https://docs.gocardless.com/docs/api-reference/payer-authorisation).
      - `payout` string: If `resource_type` is `payouts`, this is the ID of the [payout](https://docs.gocardless.com/docs/api-reference/payout) which has been updated.
      - `refund` string: If `resource_type` is `refunds`, this is the ID of the [refund](https://docs.gocardless.com/docs/api-reference/refund) which has been updated.
      - `subscription` string: If `resource_type` is `subscription`, this is the ID of the [subscription](https://docs.gocardless.com/docs/api-reference/subscription) which has been updated.
      - `instalment_schedule` string: If `resource_type` is `instalment_schedule`, this is the ID of the [instalment schedule](https://docs.gocardless.com/docs/api-reference/instalment-schedule) which has been updated.
      - `creditor` string: If `resource_type` is `creditor`, this is the ID of the [creditor](https://docs.gocardless.com/docs/api-reference/creditor) which has been updated.
      - `parent_event` string: 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_account` string: This is only included for mandate transfer events, when it is the ID of the [customer bank account](https://docs.gocardless.com/docs/api-reference/customer-bank-account) which the mandate is being transferred from.
      - `new_customer_bank_account` string: This is only included for mandate transfer events, when it is the ID of the [customer bank account](https://docs.gocardless.com/docs/api-reference/customer-bank-account) which the mandate is being transferred to.
      - `new_mandate` string: This is only included for mandate replaced events, when it is the ID of the new [mandate](https://docs.gocardless.com/docs/api-reference/mandate) that replaces the existing mandate.
      - `organisation` string: If the event is included in a [webhook](https://docs.gocardless.com/docs/api-reference/webhooks) to an [OAuth app](https://docs.gocardless.com/docs/api-reference/oauth-reference), this is the ID of the account to which it belongs.
      - `outbound_payment` string: If `resource_type` is `outbound_payments`, this is the ID of the outbound_payment which has been updated.
      - `payment_account_transaction` string: If `resource_type` is `payment_account_transaction`, this is the ID of a transaction which has been recorded on the payment account.
      - `scheme_identifier` string: If `resource_type` is `scheme_identifiers`, this is the ID of the [scheme_identifier](https://docs.gocardless.com/docs/api-reference/scheme-identifier) which has been updated.

## Other responses

- `400`: Bad Request
- `401`: Unauthorised
- `404`: Not found
- `422`: Validation Error
- `500`: Internal Error

---

[API](https://skmtc.dev/gocardless/apis/gocardless-api.md) - [All operations](https://skmtc.dev/gocardless/apis/gocardless-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gocardless/apis/gocardless-api/revisions/4dd3dae45364?raw)
