---
title: "List transfer events"
method: POST
path: "/transfer/event/list"
tags: ["plaid"]
---

# List transfer events

`POST /transfer/event/list`

Use the `/transfer/event/list` endpoint to get a list of transfer events based on specified filter criteria.

## Request body

- TransferEventListRequest — Defines the request schema for `/transfer/event/list`
  - `client_id` string — Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.
  - `secret` string — Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.
  - `start_date` string, date-time, nullable — The start `created` datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)
  - `end_date` string, date-time, nullable — The end `created` datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)
  - `transfer_id` string, nullable — Plaid's unique identifier for a transfer.
  - `account_id` string, nullable — The account ID to get events for all transactions to/from an account.
  - `transfer_type` 'debit' | 'credit' | 'null', nullable — The type of transfer. This will be either `debit` or `credit`. A `debit` indicates a transfer of money into your origination account; a `credit` indicates a transfer of money out of your origination account.
  - `event_types` TransferEventType[] — Filter events by event type.
  - `sweep_id` string — Plaid's unique identifier for a sweep.
  - `count` integer, nullable — The maximum number of transfer events to return. If the number of events matching the above parameters is greater than `count`, the most recent events will be returned.
  - `offset` integer, nullable — The offset into the list of transfer events. When `count`=25 and `offset`=0, the first 25 events will be returned. When `count`=25 and `offset`=25, the next 25 events will be returned.
  - `origination_account_id` string, nullable — The origination account ID to get events for transfers from a specific origination account.
  - `originator_client_id` string, nullable — Filter transfer events to only those with the specified originator client.
  - `funding_account_id` string, nullable — Filter transfer events to only those with the specified `funding_account_id`.

## Response `200`

OK

- TransferEventListResponse — Defines the response schema for `/transfer/event/list`
  - `transfer_events` TransferEvent[], required
    - `event_id` integer, required — Plaid's unique identifier for this event. IDs are sequential unsigned 64-bit integers.
    - `timestamp` string, date-time, required — The datetime when this event occurred. This will be of the form `2006-01-02T15:04:05Z`.
    - `event_type` 'pending' | 'cancelled' | 'failed' | 'posted' | 'settled' | 'funds_available' | 'guaranteed' | 'returned' | 'guarantee_reimbursed' | 'client_return_recovered' | 'plaid_return_recovered' | 'swept' | 'swept_settled' | 'return_swept' | 'sweep.pending' | 'sweep.posted' | 'sweep.settled' | 'sweep.returned' | 'sweep.failed' | 'sweep.funds_available' | 'refund.pending' | 'refund.cancelled' | 'refund.failed' | 'refund.posted' | 'refund.settled' | 'refund.returned' | 'refund.swept' | 'refund.return_swept', required — The type of event that this transfer represents. Event types with prefix `sweep` represent events for Plaid Ledger sweeps. `pending`: A new transfer was created; it is in the pending state. `cancelled`: The transfer was cancelled by the client. `failed`: The transfer failed, no funds were moved. `posted`: The transfer has been successfully submitted to the payment network. `settled`: The transfer has been successfully completed by the payment network. `funds_available`: Funds from the transfer have been released from hold and applied to the ledger's available balance. (Only applicable to ACH debits.) `guaranteed`: The transfer has been fully guaranteed by Plaid. `returned`: A posted transfer was returned. `guarantee_reimbursed`: Plaid reimbursed the client for the loss on a returned guaranteed transfer. The `event_amount` is the reimbursed amount. `client_return_recovered`: The client reported recovering the loss on a returned transfer via `/transfer/return/recover`, and Plaid debited the recovered amount from the client's ledger. The `event_amount` is the recovered amount. `plaid_return_recovered`: Plaid recovered the loss on a returned transfer by successfully reinitiating it. The `event_amount` is the recovered amount. Client should stop their return recovery effort. `swept`: The transfer was swept to / from the sweep account. `swept_settled`: Credits are available to be withdrawn or debits have been deducted from the customer's business checking account. `return_swept`: Due to the transfer being returned, funds were pulled from or pushed back to the sweep account. `sweep.pending`: A new ledger sweep was created; it is in the pending state. `sweep.posted`: The ledger sweep has been successfully submitted to the payment network. `sweep.settled`: The transaction has settled in the funding account. This means that funds withdrawn from Plaid Ledger balance have reached the funding account, or funds to be deposited into the Plaid Ledger Balance have been pulled, and the hold period has begun. `sweep.returned`: A posted ledger sweep was returned. `sweep.failed`: The ledger sweep failed, no funds were moved. `sweep.funds_available`: Funds from the ledger sweep have been released from hold and applied to the ledger's available balance. This is only applicable to debits. `refund.pending`: A new refund was created; it is in the pending state. `refund.cancelled`: The refund was cancelled. `refund.failed`: The refund failed, no funds were moved. `refund.posted`: The refund has been successfully submitted to the payment network. `refund.settled`: The refund transaction has settled in the Plaid linked account. `refund.returned`: A posted refund was returned. `refund.swept`: The refund was swept from the sweep account. `refund.return_swept`: Due to the refund being returned, funds were pushed back to the sweep account.
    - `account_id` string — The account ID associated with the transfer. This field is omitted for Plaid Ledger Sweep events.
    - `funding_account_id` string, nullable, required — The id of the associated funding account, available in the Plaid Dashboard. If present, this indicates which of your business checking accounts will be credited or debited.
    - `ledger_id` string, nullable — Plaid's unique identifier for a Plaid Ledger Balance.
    - `transfer_id` string, required — Plaid's unique identifier for a transfer. This field is an empty string for Plaid Ledger Sweep events.
    - `origination_account_id` string, nullable, required — The ID of the origination account that this balance belongs to.
    - `transfer_type` 'debit' | 'credit' — The type of transfer. Valid values are `debit` or `credit`. A `debit` indicates a transfer of money into the origination account; a `credit` indicates a transfer of money out of the origination account. This field is omitted for Plaid Ledger Sweep events.
    - `transfer_amount` string — The amount of the transfer (decimal string with two digits of precision e.g. "10.00"). This field is omitted for Plaid Ledger Sweep events.
    - `failure_reason` TransferFailure, nullable, required — The failure reason if the event type for a transfer is `"failed"` or `"returned"`. Null value otherwise.
      - `failure_code` string, nullable — The failure code, e.g. `R01`. A failure code will be provided if and only if the transfer status is `returned`. See [ACH return codes](https://plaid.com/docs/errors/transfer/#ach-return-codes) for a full listing of ACH return codes and [RTP/RfP error codes](https://plaid.com/docs/errors/transfer/#rtprfp-error-codes) for RTP error codes.
      - `ach_return_code` string, nullable — The ACH return code, e.g. `R01`. A return code will be provided if and only if the transfer status is `returned`. For a full listing of ACH return codes, see [Transfer errors](https://plaid.com/docs/errors/transfer/#ach-return-codes).
      - `description` string — A human-readable description of the reason for the failure or reversal.
    - `sweep_id` string, nullable, required — Plaid's unique identifier for a sweep.
    - `sweep_amount` string, nullable, required — A signed amount of how much was `swept` or `return_swept` for this transfer (decimal string with two digits of precision e.g. "-5.50").
    - `event_amount` string, nullable — A signed amount associated with this event (decimal string with two digits of precision e.g. "10.00" or "-10.00").
    - `refund_id` string, nullable, required — Plaid's unique identifier for a refund. A non-null value indicates the event is for the associated refund of the transfer.
    - `originator_client_id` string, nullable, required — The Plaid client ID that is the originator of the transfer that this event applies to. Only present if the transfer was created on behalf of another client as a third-party sender (TPS).
    - `intent_id` string, nullable — The `id` returned by the `/transfer/intent/create` endpoint, for transfers created via Transfer UI. For transfers not created by Transfer UI, the value is `null`. This will currently only be populated for RfP transfers.
    - `wire_return_fee` string, nullable — The fee amount deducted from the original transfer during a wire return, if applicable.
  - `has_more` boolean, required — Whether there are more events to be pulled from the endpoint that have not already been returned
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

## Other responses

- `default` — Error response

---

[API](https://skmtc.net/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.net/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/versions/64c4514ea59b/schema)
