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
- Get recent transactions: Use default pagination without filters
- Find high-value transactions: Filter by amount range
- Check transaction status: Filter by specific status values
- Audit trail: Sort by created_at or updated_at with date filters
- Reconciliation: Filter by external_id or date ranges
Query parameters
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.
Filter transactions by sender bank account ID. Required for non-admin users to access transactions.
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
Filter transactions by recipient ID
Filter transactions belonging to a specific payroll
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"}
Filter by last update date. Same operators as created_at.
Filter by the bank's external transaction ID
Filter by transaction description. Supports:
- Exact match: "Pago gastos"
- Partial match: {"$like": "%gastos%"}
- Case insensitive: {"$ilike": "%GASTOS%"}
Find transaction by idempotency key (useful for checking duplicate prevention)
Filter transactions by the company that owns them
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
Response
Successfully retrieved bank transactions list
Changes
No recorded changes to this endpoint across all 1 revision of this API.