v48

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-262621423.8 MB

List all 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.

get/quickbooks-desktop/transactions

Query parameters

idsstring[]

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.

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.

[
  "123ABC-1234567890"
]
limitinteger

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.

Example:150

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.

cursorstring

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.

Example:12345678-abcd-abcd-example-1234567890ab

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.

refNumbersstring[]

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.

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.

[
  "TRANSACTION-1234"
]
refNumberContainsstring

Filter for transactions whose refNumber contains this substring.

NOTE: If you use this parameter, you cannot also use refNumberStartsWith or refNumberEndsWith.

Example:INV-1234

Filter for transactions whose refNumber contains this substring.

NOTE: If you use this parameter, you cannot also use refNumberStartsWith or refNumberEndsWith.

refNumberStartsWithstring

Filter for transactions whose refNumber starts with this substring.

NOTE: If you use this parameter, you cannot also use refNumberContains or refNumberEndsWith.

Example:INV

Filter for transactions whose refNumber starts with this substring.

NOTE: If you use this parameter, you cannot also use refNumberContains or refNumberEndsWith.

refNumberEndsWithstring

Filter for transactions whose refNumber ends with this substring.

NOTE: If you use this parameter, you cannot also use refNumberContains or refNumberStartsWith.

Example:1234

Filter for transactions whose refNumber ends with this substring.

NOTE: If you use this parameter, you cannot also use refNumberContains or refNumberStartsWith.

refNumberFromstring

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.

Example:INV-0001

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.

refNumberTostring

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.

Example:INV-9999

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.

updatedAfterstring

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-012025-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.
Example:2025-01-01T12:34:56+00:00

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-012025-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.
updatedBeforestring

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-012025-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.
Example:2025-02-01T12:34:56+00:00

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-012025-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.
transactionDateFromstring 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-012025-01-01T00:00:00).

Example:2025-01-01

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-012025-01-01T00:00:00).

transactionDateTostring 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-012025-01-01T23:59:59).

Example:2025-02-01

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-012025-01-01T23:59:59).

entityIdsstring[]

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.

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.

[
  "80000001-1234567890"
]
accountIdsstring[]

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.

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.

[
  "80000001-1234567890"
]
itemIdsstring[]

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.

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.

[
  "80000001-1234567890"
]
classIdsstring[]

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.

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.

[
  "80000001-1234567890"
]
transactionTypesstring[]

Filter for transactions by their transaction type(s).

NOTE: Filtering for time tracking activities is not supported by QuickBooks for this endpoint.

Filter for transactions by their transaction type(s).

NOTE: Filtering for time tracking activities is not supported by QuickBooks for this endpoint.

[
  "invoice"
]
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.

Example: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.

Example: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.

Example: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.

currencyIdsstring[]

Filter for transactions in these currencies.

Filter for transactions in these currencies.

[
  "80000001-1234567890"
]

Headers

Conductor-End-User-Idstring required

The ID of the End-User to receive this request.

Example:end_usr_1234567abcdefg

The ID of the End-User to receive this request.

Response

Returns a list of transactions.

objectType'list' required

The type of object. This value is always "list".

urlstring required

The endpoint URL where this list can be accessed.

nextCursorstring 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.

remainingCountnumber nullable required

The number of objects remaining to be fetched.

hasMoreboolean required

Indicates whether there are more objects to be fetched.

Example response

{
  "objectType": "list",
  "url": "/v1/quickbooks-desktop/transactions",
  "data": [
    {
      "transactionType": "invoice",
      "transactionId": "123ABC-1234567890",
      "transactionLineId": "456DEF-1234567890",
      "createdAt": "2025-01-01T12:34:56+00:00",
      "updatedAt": "2025-02-01T12:34:56+00:00",
      "entity": {
        "id": "80000001-1234567890",
        "fullName": "Acme Corporation"
      },
      "account": {
        "id": "80000001-1234567890",
        "fullName": "Checking"
      },
      "transactionDate": "2024-10-01",
      "refNumber": "INV-1234",
      "amount": "1000.00",
      "currency": {
        "id": "80000001-1234567890",
        "fullName": "USD"
      },
      "exchangeRate": 1.2345,
      "amountInHomeCurrency": "1234.56",
      "memo": "Customer requested rush delivery"
    }
  ],
  "nextCursor": "12345678-abcd-abcd-example-1234567890ab",
  "remainingCount": 10
}