Skip to main content
Retrieve transaction ledger entries for the selected account. Use this operation to inspect credit and debit activity, transaction identifiers, payment methods, and pagination metadata.
This is a read operation that uses a signed POST request. Supply a date range in the JSON body. For the current balance and account configuration, use Get Bank Account.

Authentication & headers

Use an ACCOUNT credential for its bound account, or a USER credential authorized to access the selected account. Platform credentials are not accepted.

Select the target account

Include the exact trimmed values of any account-target headers in the canonical header set before calculating X-Signature. Adding or changing them after signing invalidates the signature.

Send the request headers

Follow Request signing for the canonical path, query, headers, and body rules. Use the matching base URL and credentials described in Environments.

Request body

Date range and page size

Send dates as JSON numbers in milliseconds, not seconds or date strings. An empty body object is not a valid example for this operation because both date fields are required.

Optional filters

See Objects & Enums for transaction-type definitions. Do not assume that an omitted transaction_type disables downstream filtering.

Pagination inputs

See Continue through results for an example using the response cursor.

Request

The example requests debit entries with a page size of 20. Its date range runs from December 31, 2025, 00:00 UTC to January 1, 2026, 00:00 UTC. Replace the dates with the period you need.
Set BASE_URL and your credential variables, then generate TIMESTAMP_MS, NONCE, CONTENT_HASH, and SIGNATURE for the exact request. The commands below include the optional content hash; they do not generate the signature for you.
Uses the account bound to the credential and omits both account-target headers.
If you change dates, filters, or cursor values, recalculate the body hash and signature for the new request. Keep the body bytes unchanged after signing and use a fresh nonce.

Success response

A successful API result has outer JSON code: 200. The data object contains statement entries and pagination metadata. The following example uses illustrative identifiers and values.

Result structure

Results are requested in descending order. This endpoint does not populate a page field; use the cursor metadata rather than relying on a page number.

Statement fields

Each object in statements[] can contain the following documented fields.
Keep amount as a decimal string or use a fixed-point/arbitrary-precision decimal library. Do not convert monetary values to binary floating-point numbers.
is_credit is determined by comparing the transaction payee document with the selected account document. Interpret the direction relative to that account. In the example, is_credit: false identifies a debit entry with an amount of "25.00".
payment_method, payment_variant, txn_status, and txn_type are numeric enums. Use Objects & Enums for their meanings; the outer success code describes the API call, while txn_status describes the transaction.Party documents can be masked by merchant configuration. Handle the returned payer and payee values accordingly; both are null in the example.

Continue through results

1

Request the initial result set

Supply the required date range and any filters. Omit cursor for the initial request.
2

Read the continuation metadata

Process statements[] and retain the complete returned cursor object, including timestamp, id, and direction, along with snapshot_timestamp.
3

Build and sign the continuation request

To continue the same query, keep the account, date range, and filters consistent. Copy the complete returned cursor into the next request body. If you use snapshot_timestamp, preserve the returned value for the same query. Sign that new body with a fresh timestamp and nonce.
The confirmed pagination flow copies the previous response’s entire cursor object into the next request. Do not reconstruct the cursor from the last visible statement or increment a page number instead. The body below illustrates continuation using the response example above. Use the actual values returned by your request instead of these sample cursor values.

Errors

Check the outer JSON code to determine whether the API call succeeded. HTTP 200 alone does not indicate success. The following are endpoint-specific API result codes, not HTTP status codes. The operation can also return mapped upstream errors or fail because of missing or invalid signing headers, an expired timestamp, nonce replay, a content-hash or signature mismatch, or insufficient permission.

Error Catalog

Interpret shared API result codes and transport errors.

Get Bank Account

Retrieve current balances, PIX keys, and account configuration.