GET
/
quickbooks-desktop
/
transactions
import Conductor from 'conductor-node';

const client = new Conductor({
  apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});

async function main() {
  // Automatically fetches more pages as needed.
  for await (const transaction of client.qbd.transactions.list({
    conductorEndUserId: 'end_usr_1234567abcdefg',
  })) {
    console.log(transaction.account);
  }
}

main();
{
  "objectType": "list",
  "url": "/v1/quickbooks-desktop/transactions",
  "data": [
    {
      "transactionType": "invoice",
      "transactionId": "123ABC-1234567890",
      "transactionLineId": "456DEF-1234567890",
      "createdAt": "2021-10-01T17:34:56.000Z",
      "updatedAt": "2021-10-01T20:45:30.000Z",
      "entity": {
        "id": "80000001-1234567890",
        "fullName": "Acme Corporation"
      },
      "account": {
        "id": "80000001-1234567890",
        "fullName": "Checking"
      },
      "transactionDate": "2021-10-01T00:00:00.000Z",
      "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,
  "hasMore": true
}

Authorizations

Authorization
string
header
required

Your Conductor secret key using Bearer auth (e.g., "Authorization: Bearer {{YOUR_SECRET_KEY}}").

Headers

Conductor-End-User-Id
string
required

The ID of the EndUser to receive this request (e.g., "Conductor-End-User-Id: {{END_USER_ID}}").

Example:

"end_usr_1234567abcdefg"

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.

Example:
["123ABC-1234567890"]
limit
integer
default: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.

Required range: 1 <= x <= 150
Example:

150

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.

Example:

"12345678-abcd-abcd-example-1234567890ab"

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.

Example:
["TRANSACTION-1234"]
refNumberContains
string

Filter for transactions whose refNumber contains this substring. NOTE: If you use this parameter, you cannot also use refNumberStartsWith or refNumberEndsWith.

Example:

"INV-1234"

refNumberStartsWith
string

Filter for transactions whose refNumber starts with this substring. NOTE: If you use this parameter, you cannot also use refNumberContains or refNumberEndsWith.

Example:

"INV"

refNumberEndsWith
string

Filter for transactions whose refNumber ends with this substring. NOTE: If you use this parameter, you cannot also use refNumberContains or refNumberStartsWith.

Example:

"1234"

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.

Example:

"INV-0001"

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.

Example:

"INV-9999"

updatedAfter
string

Filter for transactions updated on or after this date and time, in ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date (YYYY-MM-DD), the time is assumed to be 00:00:00 of that day.

Example:

"2021-01-01T12:34:56.000Z"

updatedBefore
string

Filter for transactions updated on or before this date and time, in ISO 8601 format (YYYY-MM-DDTHH:mm:ss). If you only provide a date (YYYY-MM-DD), the time is assumed to be 23:59:59 of that day.

Example:

"2021-02-01T12:34:56.000Z"

transactionDateFrom
string

Filter for transactions whose date field is on or after this date, in ISO 8601 format (YYYY-MM-DD).

Example:

"2021-01-01T00:00:00.000Z"

transactionDateTo
string

Filter for transactions whose date field is on or before this date, in ISO 8601 format (YYYY-MM-DD).

Example:

"2021-02-01T00:00:00.000Z"

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.

Example:
["80000001-1234567890"]
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.

Example:
["80000001-1234567890"]
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.

Example:
["80000001-1234567890"]
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.

Example:
["80000001-1234567890"]
transactionType
enum<string>[]

Filter for transactions by their type. You can specify one or more transaction types.

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

Available options:
all,
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
Example:
["invoice"]
detailLevel
enum<string>
default: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.

Available options:
all,
transaction_lines_only,
transactions_without_lines
Example:

"transactions_without_lines"

postingStatus
enum<string>
default:either

Filter for transactions that are posting, non-posting, or either. Posting status refers to whether QuickBooks records the transaction in an account register.

Available options:
either,
non_posting,
posting
Example:

"posting"

paymentStatus
enum<string>
default:either

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.

Available options:
closed,
either,
open
Example:

"open"

currencyIds
string[]

Filter for transactions in these currencies.

Example:
["80000001-1234567890"]

Response

200 - application/json
Returns a list of transactions.
objectType
string
required

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

Allowed value: "list"
Example:

"list"

url
string
required

The endpoint URL where this list can be accessed.

Example:

"/v1/quickbooks-desktop/transactions"

data
object[]
required

The array of transactions.

nextCursor
string | null
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.

Example:

"12345678-abcd-abcd-example-1234567890ab"

remainingCount
number | null
required

The number of objects remaining to be fetched.

Example:

10

hasMore
boolean
required

Indicates whether there are more objects to be fetched.