---
title: "List all transactions"
method: GET
path: "/quickbooks-desktop/transactions"
---

# List all transactions

`GET /quickbooks-desktop/transactions`

Searches across all transaction types. Unlike transaction-specific queries, this endpoint only returns fields common to all transaction types, such as ID, type, dates, account, and reference numbers. For more details specific to that transaction type, make a subsequent call to the relevant transaction-specific endpoint (such as invoices, bills, etc.). NOTE: This endpoint does not support time tracking activities. Use the `cursor` parameter to paginate through the results.

## Query parameters

- `ids` string[] — Filter for specific transactions by their QuickBooks-assigned unique identifier(s). **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other query parameters for this request. **NOTE**: If any of the values you specify in this parameter are not found, the request will return an error. **NOTE**: You cannot supply the ID of a time tracking activity to this request. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This limitation is enforced by QuickBooks.
- `limit` integer — The maximum number of objects to return. Accepts values ranging from 1 to 150, defaults to 150. When used with cursor-based pagination, this parameter controls how many results are returned per page. To paginate through results, combine this with the `cursor` parameter. Each response will include a `nextCursor` value that can be passed to subsequent requests to retrieve the next page of results.
- `cursor` string — The pagination token to fetch the next set of results when paginating with the `limit` parameter. Do not include this parameter on the first call. Use the `nextCursor` value returned in the previous response to request subsequent results.
- `refNumbers` string[] — Filter for specific transactions by their ref-number(s), case-sensitive. In QuickBooks, ref-numbers are not required to be unique and can be arbitrarily changed by the QuickBooks user. **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other query parameters for this request. **NOTE**: If any of the values you specify in this parameter are not found, the request will return an error.
- `refNumberContains` string — Filter for transactions whose `refNumber` contains this substring. **NOTE**: If you use this parameter, you cannot also use `refNumberStartsWith` or `refNumberEndsWith`.
- `refNumberStartsWith` string — Filter for transactions whose `refNumber` starts with this substring. **NOTE**: If you use this parameter, you cannot also use `refNumberContains` or `refNumberEndsWith`.
- `refNumberEndsWith` string — Filter for transactions whose `refNumber` ends with this substring. **NOTE**: If you use this parameter, you cannot also use `refNumberContains` or `refNumberStartsWith`.
- `refNumberFrom` string — Filter for transactions whose `refNumber` is greater than or equal to this value. If omitted, the range will begin with the first number of the list. Uses a numerical comparison for values that contain only digits; otherwise, uses a lexicographical comparison.
- `refNumberTo` string — Filter for transactions whose `refNumber` is less than or equal to this value. If omitted, the range will end with the last number of the list. Uses a numerical comparison for values that contain only digits; otherwise, uses a lexicographical comparison.
- `updatedAfter` string — Filter for transactions updated on or after this date/time. Accepts the following ISO 8601 formats: - **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`). - **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer. - **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
- `updatedBefore` string — Filter for transactions updated on or before this date/time. Accepts the following ISO 8601 formats: - **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`). - **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer. - **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
- `transactionDateFrom` string, date — Filter for transactions whose `date` field is on or after this date, in ISO 8601 format (YYYY-MM-DD). **NOTE:** QuickBooks Desktop interprets this date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).
- `transactionDateTo` string, date — Filter for transactions whose `date` field is on or before this date, in ISO 8601 format (YYYY-MM-DD). **NOTE:** QuickBooks Desktop interprets this date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).
- `entityIds` string[] — Filter for transactions associated with these entities (customers, vendors, employees, etc.). **NOTE**: To filter on transaction lines, you must specify the `transactionDetailLevel` parameter as `all` or `transaction_lines_only`.
- `accountIds` string[] — Filter for transactions associated with these accounts. **NOTE**: To filter on transaction lines, you must specify the `transactionDetailLevel` parameter as `all` or `transaction_lines_only`.
- `itemIds` string[] — Filter for transactions associated with these items. **NOTE**: To filter on transaction lines, you must specify the `transactionDetailLevel` parameter as `all` or `transaction_lines_only`.
- `classIds` string[] — Filter for transactions of these classes. A class is a way end-users can categorize transactions in QuickBooks. **NOTE**: To filter on transaction lines, you must specify the `transactionDetailLevel` parameter as `all` or `transaction_lines_only`.
- `transactionTypes` string[] — Filter for transactions by their transaction type(s). **NOTE**: Filtering for time tracking activities is not supported by QuickBooks for this endpoint.
- `detailLevel` 'all' | 'transaction_lines_only' | 'transactions_without_lines' — Specify whether to return all matching transaction and transaction-line objects (`all`), only transaction objects (`transactions_without_lines`, the default), or only transaction-line objects (`transaction_lines_only`.
- `postingStatus` 'either' | 'non_posting' | 'posting' — Filter for transactions that are posting, non-posting, or either. Posting status refers to whether QuickBooks records the transaction in an account register.
- `paymentStatus` 'closed' | 'either' | 'open' — Filter for transactions that are open, closed, or either. Open transactions have a remaining balance, such as credits not fully applied or invoices not fully paid.
- `currencyIds` string[] — Filter for transactions in these currencies.

## Headers

- `Conductor-End-User-Id` string, required — The ID of the End-User to receive this request.

## Response `200`

Returns a list of transactions.

- object
  - `objectType` 'list', required — The type of object. This value is always `"list"`.
  - `url` string, required — The endpoint URL where this list can be accessed.
  - `data` QbdTransaction[], required — The array of transactions.
    - `transactionType` 'ar_refund_credit_card' | 'bill' | 'bill_payment_check' | 'bill_payment_credit_card' | 'build_assembly' | 'charge' | 'check' | 'credit_card_charge' | 'credit_card_credit' | 'credit_memo' | 'deposit' | 'estimate' | 'inventory_adjustment' | 'invoice' | 'item_receipt' | 'journal_entry' | 'liability_adjustment' | 'paycheck' | 'payroll_liability_check' | 'purchase_order' | 'receive_payment' | 'sales_order' | 'sales_receipt' | 'sales_tax_payment_check' | 'transfer' | 'vendor_credit' | 'ytd_adjustment' | 'unknown', required — The type of transaction.
    - `transactionId` string, required — The QuickBooks-assigned unique identifier of this transaction. If `transactionLineId` is also defined, this is the identifier of the line's parent transaction object.
    - `transactionLineId` string, nullable, required — The QuickBooks-assigned unique identifier of this transaction line. If `null`, this result is a transaction object.
    - `createdAt` string, required — The date and time when this transaction was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.
    - `updatedAt` string, required — The date and time when this transaction was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.
    - `entity` object, nullable, required — The customer, vendor, employee, or person on QuickBooks's "Other Names" list associated with this transaction.
      - `id` string, nullable, required — The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
      - `fullName` string, nullable, required — The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own `name`, separated by colons. Not case-sensitive.
    - `account` object, nullable, required — The account associated with this transaction.
      - `id` string, nullable, required — The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
      - `fullName` string, nullable, required — The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own `name`, separated by colons. Not case-sensitive.
    - `transactionDate` string, date, required — The date of this transaction, in ISO 8601 format (YYYY-MM-DD).
    - `refNumber` string, nullable, required — The case-sensitive user-defined reference number for this transaction, which can be used to identify the transaction in QuickBooks. This value is not required to be unique and can be arbitrarily changed by the QuickBooks user.
    - `amount` string, required — The monetary amount of this transaction, represented as a decimal string.
    - `currency` object, nullable, required — The transaction's currency. For built-in currencies, the name and code are standard ISO 4217 international values. For user-defined currencies, all values are editable.
      - `id` string, nullable, required — The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
      - `fullName` string, nullable, required — The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own `name`, separated by colons. Not case-sensitive.
    - `exchangeRate` number, nullable, required — The market exchange rate between this transaction's currency and the home currency in QuickBooks at the time of this transaction. Represented as a decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).
    - `amountInHomeCurrency` string, nullable, required — The monetary amount of this transaction converted to the home currency of the QuickBooks company file. Represented as a decimal string.
    - `memo` string, nullable, required — A memo or note for this transaction.
  - `nextCursor` string, nullable, required — The `nextCursor` is a pagination token returned in the response when you use the `limit` parameter in your request. To retrieve subsequent pages of results, include this token as the value of the `cursor` request parameter in your following API calls. **NOTE**: The `nextCursor` value remains constant throughout the pagination process for a specific list instance; continue to use the same `nextCursor` token in each request to fetch additional pages.
  - `remainingCount` number, nullable, required — The number of objects remaining to be fetched.
  - `hasMore` boolean, required — Indicates whether there are more objects to be fetched.

---

[API](https://skmtc.net/conductor-is/apis/conductor-api.md) · [All operations](https://skmtc.net/conductor-is/apis/conductor-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/conductor-is/conductor-api/revisions/0b07b3ebe160/schema)
