# List Transactions **GET /transactions** Returns a paginated list of transactions for the authenticated merchant. ### Filtering and Sorting You can filter and sort the results using query parameters: #### Available Filter/Sort Fields: - `id` - Transaction ID - `timestamp` - Transaction timestamp (UTC) - `referenceId` - Reference ID - `orderNumber` - Order number - `invoiceNumber` - Invoice number - `type` - Transaction type (Sale, Refund, Void, Auth, Capture) - `amount` - Transaction amount - `status` - Transaction status (Created, Completed, Pending) #### Transaction Status Definitions: **Created**: Initial transaction state when created but not yet processed. This includes hosted payment form sessions that haven't been completed by the customer (the customer hasn't yet submitted payment) or hosted payment form sessions that were initiated but never finalized. **Completed**: Final transaction state with definitive outcome. This includes successfully approved, declined, refunded, etc. transactions. **Pending**: Transaction submitted and awaiting final processing results. This status is primarily used for ACH transactions (coming soon) where settlement takes several business days. **Note:** Most card transactions move directly from `Created` to `Completed` status within seconds. The `Pending` status is primarily reserved for ACH transactions (coming soon) and other payment methods that require extended processing time. #### Deleted Token Behavior When a token has been removed from the system, transactions that used that token will show: - `dateDeleted` timestamp in the paymentMethod object - Sensitive fields (maskedCardNumber, cardExpDate) will be removed for security - All other transaction data (amounts, authorization codes, card type) remains intact #### Filter Operators: | Operator | Meaning | |----------|---------| | `==` | Equals | | `!=` | Not equals | | `>` | Greater than | | `<` | Less than | | `>=` | Greater than or equal to | | `<=` | Less than or equal to | | `@=` | Contains | | `_=` | Starts with | | `_-=` | Ends with | | `!@=` | Does not Contains | | `!_=` | Does not Starts with | | `!_-=` | Does not Ends with | | `@=*` | Case-insensitive string Contains | | `_=*` | Case-insensitive string Starts with | | `_-=*` | Case-insensitive string Ends with | | `==*` | Case-insensitive string Equals | | `!=*` | Case-insensitive string Not equals | | `!@=*` | Case-insensitive string does not Contains | | `!_=*` | Case-insensitive string does not Starts with | #### Special Filter Syntax: - Use `|` (pipe) for OR conditions: `type==Sale|Capture` - Use `-` prefix for descending sort: `sorts=-timestamp` #### Examples: - Filter by timestamp range: `?filters=timestamp>=2025-05-21T01:00:00,timestamp<2025-05-22T01:00:00` - Filter by type with OR: `?filters=type==Sale|Capture` - Filter by status: `?filters=status==Completed` - Sort by timestamp descending: `?sorts=-timestamp` - Combined: `?filters=timestamp>=2025-05-27T04:00:00.000Z,type==Sale|Capture&sorts=-timestamp` **Note:** All transaction timestamps are in UTC. ## Servers - https://api.omni.integratedcommerce.io/v1: https://api.omni.integratedcommerce.io/v1 () ## Authentication methods - Api key header ## Parameters ### Query parameters - **filters** (string) Filter criteria in the format: field==value,field!=value Multiple filters can be separated by commas. Use | for OR conditions within a field. Available fields: id, timestamp, referenceId, orderNumber, invoiceNumber, type, amount - **sorts** (string) Sort criteria as comma-separated field names. Use - prefix for descending order. Available fields: id, timestamp, referenceId, orderNumber, invoiceNumber, type, amount - **page** (integer) Page number to retrieve (starts at 1). For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20. - **pageSize** (integer) Number of records per page. For example, if you have 100 records with 10 per page, page 2 gives you records 11 to 20. ## Responses ### 200 A successful paginated response containing transactions #### Body: application/json (object) - **totalCount** (integer) Total number of transactions that match the filter criteria - **page** (integer) The current page number (starts at 1) - **pageSize** (integer) Number of items per page - **totalPages** (integer) Total number of pages available - **hasNextPage** (boolean) True if there are more pages of results available - **hasPreviousPage** (boolean) True if there are previous pages of results available - **items** (array[object]) Array of transactions for the current page ### 401 Unauthorized response due to an invalid or missing API key. #### Body: application/json (object) - **code** (number) Numeric error code. These are grouped into ranges for easier identification and troubleshooting. * `1000` - AuthenticationGenericError * `2000` - RequestValidationGenericError * `3000` - UnknownServerGenericError * `9000` - UnhandledGenericError - **status** (string) Execution status of the request sent to the payment gateway. * Completed - The request completed successfully. * Rejected - The request was rejected by the payment gateway. No action or side effects occurred. The transaction can safely be retried. * Interrupted - The request was interrupted, and the final status is unknown. Possible side effects may have occurred (e.g., a Sale (Token) that returns Interrupted might still charge the customer, even if an error is returned). Additional checks are required before retrying the transaction. * Unknown - **message** (string) Developer-facing error message. - **traceId** (string) Unique trace identifier for tracking and debugging this request. - **timestamp** (string(date-time)) The timestamp when the error occurred (UTC). - **errorDetails** (array[object]) [Powered by Bump.sh](https://bump.sh)