Bank transaction

List bank transactions

Returns a paginated list of bank transactions for authorized accounts. This endpoint provides comprehensive filtering, sorting, and pagination capabilities to help you query transaction history effectively.

Key Features

  • Pagination: Control result size with _start and _end parameters (default: 25 items)
  • Sorting: Sort by any field in ascending or descending order
  • Filtering: Apply complex filters on multiple fields including amounts, dates, and statuses
  • Relationships: Automatically includes related entities (recipients, senders, payables, errors)

Authorization

  • Regular users can only view transactions from accounts they have access to through a bank key.
  • The company-id header also drives wallet-transaction visibility: wallet transactions inscribed by other users are hidden unless you hold wallet_transactions_view_all in the company set on the header. The scope applies this rule in SQL (with_wallet_visibility), so the same request under a different company-id can return a different set of wallet transactions.

Response Structure

The response includes the transaction details along with nested relationships:

  • recipient: Full recipient information including bank details
  • sender: Bank account information of the sender
  • bank_errors: Any errors encountered during processing
  • payables: Related invoices (if Pay product is activated)
  • payroll: Associated payroll information (if applicable)

Common Use Cases

  1. Get recent transactions: Use default pagination without filters
  2. Find high-value transactions: Filter by amount range
  3. Check transaction status: Filter by specific status values
  4. Audit trail: Sort by created_at or updated_at with date filters
  5. Reconciliation: Filter by external_id or date ranges
get/v1/banking/bank_transactions

Query parameters

amountstring
Example:{"$lt": 11000}

Only as an example of filtering results that have an amount less than $11000. For more detailed explanation, go to the How to filter results section.

sender_idstring uuid

Filter transactions by sender bank account ID. Required for non-admin users to access transactions.

statusstring
Example:{"$in": ["approved", "declined"]}

Filter by transaction status. Supports JSON operators:

  • Single status: "approved"
  • Multiple statuses: {"$in": ["approved", "declined"]}
  • Exclude status: {"$ne": "draft"}

Available statuses:

  • draft: Initial state when transaction is created
  • enqueued: Transaction queued for processing
  • dequeued: Transaction removed from queue
  • preauthorized: Transaction preauthorized by bank
  • declined: Transaction declined by bank
  • approved: Transaction approved and processed
recipient_idstring uuid

Filter transactions by recipient ID

bank_payroll_idstring uuid

Filter transactions belonging to a specific payroll

created_atstring
Example:{"$gte": "2025-01-01T00:00:00Z", "$lt": "2025-02-01T00:00:00Z"}

Filter by creation date using JSON operators:

  • After date: {"$gte": "2025-01-01T00:00:00Z"}
  • Before date: {"$lt": "2025-02-01T00:00:00Z"}
  • Date range: {"$gte": "2025-01-01T00:00:00Z", "$lt": "2025-02-01T00:00:00Z"}
updated_atstring
Example:{"$gte": "2025-01-15T00:00:00Z"}

Filter by last update date. Same operators as created_at.

external_idstring

Filter by the bank's external transaction ID

descriptionstring
Example:{"$like": "%pago%"}

Filter by transaction description. Supports:

  • Exact match: "Pago gastos"
  • Partial match: {"$like": "%gastos%"}
  • Case insensitive: {"$ilike": "%GASTOS%"}
idempotency_idstring

Find transaction by idempotency key (useful for checking duplicate prevention)

holder_idstring uuid

Filter transactions by the company that owns them

transitionstring
Example:{"$in": ["enqueue", "authorize"]}

Filter by current transition state:

  • enqueue: Being queued for processing
  • dequeue: Being removed from queue
  • authorize: Being authorized
  • preauthorize: Being preauthorized
  • remove: Being removed
  • null: No active transition

Parameters

#/paths/~1v1~1banking~1bank_keys/get/parameters/0 — unresolved $ref
#/paths/~1v1~1banking~1banks/get/parameters/0 — unresolved $ref
#/paths/~1v1~1banking~1banks/get/parameters/1 — unresolved $ref
#/paths/~1v1~1banking~1banks/get/parameters/2 — unresolved $ref
#/paths/~1v1~1banking~1banks/get/parameters/3 — unresolved $ref

Response

Successfully retrieved bank transactions list

idstring uuid required

Unique identifier for the transaction

external_idstring

The ID assigned to the transaction in the bank systems

sender_idstring uuid required

The ID of the bank account that will send the payment

recipient_idstring uuid required

The ID of the bank recipient that will receive the payment

bank_payroll_idstring uuid nullable

The ID of the payroll this transaction belongs to, if any

lbtrboolean

This attribute indicates that a transaction does not have an amount limit. Only available at Banco de Chile and Santander

holder_idstring uuid

The ID of the company that owns this bank transaction

status'draft' | 'enqueued' | 'dequeued' | 'preauthorized' | 'declined' | 'approved' required

Current status of the transaction

transition'enqueue' | 'dequeue' | 'authorize' | 'preauthorize' | 'remove'

Current transition being processed for the transaction

descriptionstring

Description of the transaction

raw_datastring nullable

The raw data stored from the banks

metadataobject

Additional metadata for the transaction

receiptboolean

Indicates whether the transaction's receipt is available

payablesobject[]

List of invoices paid with this transaction (only available if pay product is activated)

amountinteger required

Amount of the transaction in cents

decline_motivestring

Reason for declining the transaction if it was declined

bank_errorsItems[] — unresolved $ref

List of errors returned by the bank for this transaction

created_atstring date-time

Timestamp when the transaction was created

updated_atstring date-time

Timestamp when the transaction was last updated

authorized_atstring date-time

Timestamp when the transaction was authorized

enqueued_atstring date-time

Timestamp when the transaction was enqueued

idempotency_idstring nullable

Unique identifier to prevent duplicate transactions

Changes

No recorded changes to this endpoint across all 1 revision of this API.