List bank transactions
Operation ID: bankTransactions
Group: Banking › Bank Transactions
Open in the interactive reference
GET /banking/bank-transactions
Read-only: Reads and returns; changes nothing.
Lists bank transactions. To filter by bank account or legal entity, use POST banking/bank-transactions/search.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
Query surface
id— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likebankTransactionNumber— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeexternalTransactionId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeexternalPaymentId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeexternalCreationDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweencurrency— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likematchStatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likelastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, bankTransactionNumber, externalTransactionId, externalCreationDate, amount, currency, matchStatus, lastModifiedDate
- Selectable: id, bankTransactionNumber, externalTransactionId, externalPaymentId, endToEndId, externalCreationDate, description, externalDescription, additionalInformation, payeeOrPayor, amount, currency, matchStatus, notes, transactionPaymentMethod, accountName, sourceBankName, entityName, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of bankTransactionsRow:
| Field | Type | Required | Filter | Sort | Description |
|---|---|---|---|---|---|
id |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The unique identifier for the bank transaction. |
bankTransactionNumber |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The bank transaction number. Absent until one has been assigned. |
externalTransactionId |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The identifier this transaction has in the bank or aggregator it was imported from. Unique across transactions. |
externalPaymentId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The end-to-end payment identifier supplied by the integration, where the bank provides one. |
endToEndId |
string | null | no | no | no | A payment reference recovered from the external transaction data by the integration. |
externalCreationDate |
date | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date the transaction was created in the source bank, not the date it was imported. Format YYYY-MM-DD. |
description |
string | null | no | no | no | The description recorded on the transaction. |
externalDescription |
string | null | no | no | no | The description as the bank supplied it, unmodified. |
additionalInformation |
string | null | no | no | no | Any additional detail the bank supplied with the transaction. |
payeeOrPayor |
string | null | no | no | no | The name of the counterparty the money went to or came from. |
amount |
decimal | null | no | no | yes | The transaction amount, as a decimal in the transaction currency. A negative amount is money leaving the account and a positive amount is money arriving. |
currency |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The currency of the transaction. Format ISO 4217, for example 'USD'. It governs the amount. |
matchStatus |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The reconciliation state of the transaction, computed from its matches. The states are 'unmatched', 'suggested', 'pending', 'matched', 'autoMatched' and 'needsAttention'. |
notes |
string | null | no | no | no | Free-form notes recorded against the transaction. |
transactionPaymentMethod |
string | null | no | no | no | How the payment was made, as reported by the integration. The values are 'ACH', 'WIRE' and 'Unknown'. |
accountName |
string | null | no | no | no | The name of the linked chart-of-accounts account. Suffixed with '(Inactive)' when the account link is broken. |
sourceBankName |
string | null | no | no | no | The name of the bank the account is held at. |
entityName |
string | null | no | no | no | The name of the legal entity the owning bank account belongs to. |
lastModifiedDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the bank transaction last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
{
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"bankTransactionNumber": "<bankTransactionNumber>",
"externalTransactionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"externalPaymentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"endToEndId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"externalCreationDate": "2026-01-15",
"description": "<description>",
"externalDescription": "<externalDescription>",
"additionalInformation": "<additionalInformation>",
"payeeOrPayor": "<payeeOrPayor>",
"amount": "19.99",
"currency": "<currency>",
"matchStatus": "<matchStatus>",
"notes": "<notes>",
"transactionPaymentMethod": "<transactionPaymentMethod>",
"accountName": "<accountName>",
"sourceBankName": "<sourceBankName>",
"entityName": "<entityName>",
"lastModifiedDate": "2026-01-15T09:30:00.000Z"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<nextCursor>"
}
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error