Sample - Plaid API
POST/wallet/transaction/get

Get an e-wallet transaction

Retrieves a specific e-wallet transaction. Supply transaction_id to identify the transaction you want to fetch. The response contains transaction details and a request identifier.

  • RetriesRetries up to 2×, 500ms backoff, 30s timeout.

3 body fields

E-wallet transaction retrieval details, including the transaction identifier and optional API credentials.

client_idstringoptional
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.
secretstringoptional
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.
transaction_idstringrequired
The ID of the transaction to fetch

2 status codes
200Returns the transaction identifier, wallet identifier, reference, type, amount, counterparty, status, creation time, and request identifier, along with any available transaction details.
transaction_idstringrequired
A unique ID identifying the transaction
wallet_idstringrequired
The ID of the e-wallet that this transaction is associated with.
referencestringrequired
A reference for the transaction
typestringrequired
The type of the transaction. The supported transaction types that are returned are: `BANK_TRANSFER:` a transaction which credits an e-wallet through an external bank transfer. `PAYOUT:` a transaction which debits an e-wallet by disbursing funds to a counterparty. `PIS_PAY_IN:` a payment which credits an e-wallet through Plaid's Payment Initiation Services (PIS) APIs. For more information see the [Payment Initiation endpoints](https://plaid.com/docs/api/products/payment-initiation/). `REFUND:` a transaction which debits an e-wallet by refunding a previously initiated payment made through Plaid's [PIS APIs](https://plaid.com/docs/api/products/payment-initiation/). `FUNDS_SWEEP`: an automated transaction which debits funds from an e-wallet to a designated client-owned account. `RETURN`: an automated transaction where a debit transaction was reversed and money moved back to originating account. `RECALL`: a transaction where the sending bank has requested the return of funds due to a fraud claim, technical error, or other issue associated with the payment. `ACCOUNT_FUNDING`: an incoming transfer from an allowlisted account. Not automatically refunded. `AUTO_REFUND`: an outgoing refund automatically initiated by Plaid in response to an unexpected `BANK_TRANSFER`. `TRANSFER_OUT`: a transaction that debits an e-wallet and cannot be classified under another category, typically initiated by a non-Plaid flow due to technical errors, FPS timeouts, or other payment-related issues.
Allowed:BANK_TRANSFERPAYOUTPIS_PAY_INREFUNDFUNDS_SWEEPRETURNRECALLACCOUNT_FUNDINGAUTO_REFUNDTRANSFER_OUT
schemestringoptional
The payment scheme used to execute this transaction. This is present only for transaction types `PAYOUT` and `REFUND`. `FASTER_PAYMENTS`: The standard payment scheme within the UK. `SEPA_CREDIT_TRANSFER`: The standard payment to a beneficiary within the SEPA area. `SEPA_CREDIT_TRANSFER_INSTANT`: Instant payment to a beneficiary within the SEPA area.
Allowed:nullFASTER_PAYMENTSSEPA_CREDIT_TRANSFERSEPA_CREDIT_TRANSFER_INSTANT
amountobjectrequired
The amount and currency of a transaction
counterpartyobjectrequired
An object representing the e-wallet transaction's counterparty
statusstringrequired
The status of the transaction. `AUTHORISING`: The transaction is being processed for validation and compliance. `INITIATED`: The transaction has been initiated and is currently being processed. `EXECUTED`: The transaction has been successfully executed and is considered complete. This is only applicable for debit transactions. `SETTLED`: The transaction has settled and funds are available for use. This is only applicable for credit transactions. A transaction will typically settle within seconds to several days, depending on which payment rail is used. `FAILED`: The transaction failed to process successfully. This is a terminal status. `BLOCKED`: The transaction has been blocked for violating compliance rules. This is a terminal status.
Allowed:AUTHORISINGINITIATEDEXECUTEDSETTLEDBLOCKEDFAILED
created_atstringrequired
Timestamp when the transaction was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.
last_status_updatestringrequired
The date and time of the last time the `status` was updated, in ISO 8601 format
payee_verification_statusstringoptional
Result of payee verification check for EUR and GBP payouts. Payee verification checks whether the payee name provided matches the account holder name at the destination institution. `FULL_MATCH`: The payee name fully matches the account holder. `PARTIAL_MATCH`: The payee name partially matches the account holder. `NO_MATCH`: The payee name does not match the account holder. `ERROR`: An error occurred during payee verification. `CHECK_NOT_POSSIBLE`: Payee verification could not be performed. This field is only populated for applicable EUR and GBP payout transactions and will be `null` for other transaction types.
Allowed:FULL_MATCHPARTIAL_MATCHNO_MATCHERRORCHECK_NOT_POSSIBLE
payment_idstringoptional
The payment id that this transaction is associated with, if any. This is present only for transaction types `PIS_PAY_IN` and `REFUND`.
failure_reasonstringoptional
The error code of a failed transaction. Error codes include: `EXTERNAL_SYSTEM`: The transaction was declined by an external system. `EXPIRED`: The transaction request has expired. `CANCELLED`: The transaction request was rescinded. `INVALID`: The transaction did not meet certain criteria, such as an inactive account or no valid counterparty, etc. `ACCOUNT_INVALID`: The transaction could not be processed because the wallet account is invalid or inactive. `AUTHENTICATION_FAILED`: The transaction could not be processed because authentication with the wallet provider failed. `UNKNOWN`: The transaction was unsuccessful, but the exact cause is unknown.
Allowed:EXTERNAL_SYSTEMEXPIREDCANCELLEDINVALIDACCOUNT_INVALIDAUTHENTICATION_FAILEDUNKNOWN
errorobjectoptional
Errors are identified by `error_code` and categorized by `error_type`. Use these in preference to HTTP status codes to identify and handle specific errors. HTTP status codes are set and provide the broadest categorization of errors: 4xx codes are for developer- or user-related errors, and 5xx codes are for Plaid-related errors, and the status will be 2xx in non-error cases. An Item with a non-`null` error object will only be part of an API response when calling `/item/get` to view Item status. Otherwise, error fields will be `null` if no error has occurred; if an error has occurred, an error code will be returned instead.
related_transactionsarray<WalletTransactionRelation>optional
A list of wallet transactions that this transaction is associated with, if any.
request_idstringrequired
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
defaultReturns an error object containing an error type, error code, error message, display message, and related troubleshooting information.
error_typestringrequired
A broad categorization of the error. Safe for programmatic use.
Allowed:INVALID_REQUESTINVALID_RESULTINVALID_INPUTINSTITUTION_ERRORRATE_LIMIT_EXCEEDEDAPI_ERRORITEM_ERRORASSET_REPORT_ERRORBASE_REPORT_ERRORRECAPTCHA_ERROROAUTH_ERRORPAYMENT_ERROR
error_codestringrequired
The particular error code. Safe for programmatic use.
error_code_reasonstringoptional
The specific reason for the error code. Currently, reasons are only supported for OAuth-based item errors; `null` will be returned otherwise. Safe for programmatic use. Possible values: `OAUTH_INVALID_TOKEN`: The user's OAuth connection to this institution has been invalidated. `OAUTH_CONSENT_EXPIRED`: The user's access consent for this OAuth connection to this institution has expired. `OAUTH_USER_REVOKED`: The user's OAuth connection to this institution is invalid because the user revoked their connection.
error_messagestringrequired
A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.
display_messagestringrequired
A user-friendly representation of the error code. `null` if the error is not related to user action. This may change over time and is not safe for programmatic use.
request_idstringoptional
A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.
causesarrayoptional
In this product, a request can pertain to more than one Item. If an error is returned for such a request, `causes` will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified. `causes` will be provided for the `error_type` `ASSET_REPORT_ERROR` or `CHECK_REPORT_ERROR`. `causes` will also not be populated inside an error nested within a `warning` object.
statusintegeroptional
The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook.
documentation_urlstringoptional
The URL of a Plaid documentation page with more information about the error
suggested_actionstringoptional
Suggested steps for resolving the error
required_account_subtypesarray<string>optional
A list of the account subtypes that were requested via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product.
provided_account_subtypesarray<string>optional
A list of the account subtypes that were extracted but did not match the requested subtypes via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product.

Error handling

transaction_id must be provided and must contain at least one character. The value must identify the e-wallet transaction you want to retrieve.