List all vendors

Changed on

Returns a list of vendors. Use the cursor parameter to paginate through the results.

get/quickbooks-desktop/vendors

Request

Query parameters

idsstring[]

Filter for specific vendors 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.

[
  "80000001-1234567890"
]
namesstring[]

Filter for specific vendors by their name(s), case-insensitive. Like id, name is a unique identifier for a vendor.

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.

[
  "Acme Supplies Inc."
]
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
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.

IMPORTANT: The cursor is the same value for every page, and requests that send it are not idempotent: each one returns the next page. Send each request within 10 seconds of the previous response. If you miss that window or a request fails, start over without a cursor. To make a run resumable, see Paging by name.

Example:12345678-abcd-abcd-example-1234567890ab
status'active' | 'all' | 'inactive'

Filter for vendors that are active, inactive, or both.

Example:active
updatedAfterstring

Filter for vendors 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.
Example:2025-01-01T12:34:56+00:00
updatedBeforestring

Filter for vendors 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.
Example:2025-02-01T12:34:56+00:00
nameContainsstring

Filter for vendors whose name contains this substring, case-insensitive.

NOTE: If you use this parameter, you cannot also use nameStartsWith or nameEndsWith.

Example:ABC
nameStartsWithstring

Filter for vendors whose name starts with this substring, case-insensitive.

NOTE: If you use this parameter, you cannot also use nameContains or nameEndsWith.

Example:ABC
nameEndsWithstring

Filter for vendors whose name ends with this substring, case-insensitive.

NOTE: If you use this parameter, you cannot also use nameContains or nameStartsWith.

Example:ABC
nameFromstring

Filter for vendors whose name sorts at or after this value (inclusive), compared case-insensitively in QuickBooks' sort order: punctuation first, then digits, then letters.

When you set nameFrom or nameTo, QuickBooks returns vendors sorted by name in that order; without either, the order is not guaranteed. To page through vendors by name, see Paging by name.

NOTE: If you use this parameter, you cannot also use nameContains, nameStartsWith, or nameEndsWith.

Example:A
nameTostring

Filter for vendors whose name sorts at or before this value (inclusive), compared case-insensitively in QuickBooks' sort order: punctuation first, then digits, then letters. If you also set nameFrom, it must not sort after this value, or QuickBooks returns an error.

When you set nameFrom or nameTo, QuickBooks returns vendors sorted by name in that order; without either, the order is not guaranteed.

NOTE: If you use this parameter, you cannot also use nameContains, nameStartsWith, or nameEndsWith.

Example:Z
totalBalancestring

Filter for vendors whose totalBalance equals this amount, represented as a decimal string. You can only use one total-balance filter at a time.

Example:123.45
totalBalanceGreaterThanstring

Filter for vendors whose totalBalance is greater than this amount, represented as a decimal string. You can only use one total-balance filter at a time.

Example:123.45
totalBalanceGreaterThanOrEqualTostring

Filter for vendors whose totalBalance is greater than or equal to this amount, represented as a decimal string. You can only use one total-balance filter at a time.

Example:123.45
totalBalanceLessThanstring

Filter for vendors whose totalBalance is less than this amount, represented as a decimal string. You can only use one total-balance filter at a time.

Example:123.45
totalBalanceLessThanOrEqualTostring

Filter for vendors whose totalBalance is less than or equal to this amount, represented as a decimal string. You can only use one total-balance filter at a time.

Example:123.45
currencyIdsstring[]

Filter for vendors in these currencies.

[
  "80000001-1234567890"
]
classIdsstring[]

Filter for vendors of these classes. A class is a way end-users can categorize vendors in QuickBooks.

[
  "80000001-1234567890"
]

Headers

Conductor-End-User-Idstring required

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

Example:end_usr_1234567abcdefg

Response

Returns a list of vendors.

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/vendors",
  "data": [
    {
      "id": "80000001-1234567890",
      "objectType": "qbd_vendor",
      "createdAt": "2025-01-01T12:34:56+00:00",
      "updatedAt": "2025-02-01T12:34:56+00:00",
      "revisionNumber": "1721172183",
      "name": "Acme Supplies Inc.",
      "isActive": true,
      "class": {
        "id": "80000001-1234567890",
        "fullName": "Suppliers"
      },
      "companyName": "Acme Corporation",
      "salutation": "Dr.",
      "firstName": "John",
      "middleName": "A.",
      "lastName": "Doe",
      "jobTitle": "Purchasing Manager",
      "billingAddress": {
        "line1": "Conductor Labs Inc.",
        "line2": "540 Market St.",
        "line3": "Suite 100",
        "city": "San Francisco",
        "state": "CA",
        "postalCode": "94110",
        "country": "United States",
        "note": "Conductor HQ"
      },
      "shippingAddress": {
        "line1": "Conductor Labs Inc.",
        "line2": "540 Market St.",
        "line3": "Suite 100",
        "city": "San Francisco",
        "state": "CA",
        "postalCode": "94110",
        "country": "United States",
        "note": "Conductor HQ"
      },
      "phone": "+1-555-123-4567",
      "alternatePhone": "+1-555-987-6543",
      "fax": "+1-555-555-1212",
      "email": "vendor@example.com",
      "ccEmail": "manager@example.com",
      "contact": "Jane Smith",
      "alternateContact": "Bob Johnson",
      "customContactFields": [
        {
          "name": "Main Phone",
          "value": "555-123-4567"
        }
      ],
      "additionalContacts": [
        {
          "id": "80000001-1234567890",
          "objectType": "qbd_contact",
          "createdAt": "2025-01-01T12:34:56+00:00",
          "updatedAt": "2025-02-01T12:34:56+00:00",
          "revisionNumber": "1721172183",
          "name": "Jane Smith",
          "salutation": "Dr.",
          "firstName": "John",
          "middleName": "A.",
          "lastName": "Doe",
          "jobTitle": "Purchasing Manager",
          "customContactFields": [
            {
              "name": "Main Phone",
              "value": "555-123-4567"
            }
          ]
        }
      ],
      "nameOnCheck": "Acme Supplies Ltd.",
      "accountNumber": "1010",
      "note": "Preferred vendor for office supplies.",
      "additionalNotes": [
        {
          "id": 1,
          "date": "2024-01-01",
          "note": "This is a fun note."
        }
      ],
      "vendorType": {
        "id": "80000001-1234567890",
        "fullName": "Wholesale Supplier"
      },
      "terms": {
        "id": "80000001-1234567890",
        "fullName": "Net 30"
      },
      "creditLimit": "5000.00",
      "taxIdentificationNumber": "12-3456789",
      "isEligibleFor1099": true,
      "balance": "1000.00",
      "billingRate": {
        "id": "80000001-1234567890",
        "fullName": "Standard Rate"
      },
      "externalId": "12345678-abcd-1234-abcd-1234567890ab",
      "salesTaxCode": {
        "id": "80000001-1234567890",
        "fullName": "Non"
      },
      "salesTaxCountry": "us",
      "salesTaxReturn": {
        "id": "80000001-1234567890",
        "fullName": "Quarterly Sales Tax Return"
      },
      "taxRegistrationNumber": "GB123456789",
      "reportingPeriod": "quarterly",
      "isTrackingPurchaseTax": true,
      "purchaseTaxAccount": {
        "id": "80000001-1234567890",
        "fullName": "GST Paid"
      },
      "isTrackingSalesTax": true,
      "salesTaxAccount": {
        "id": "80000001-1234567890",
        "fullName": "GST Collected"
      },
      "defaultExpenseAccounts": [
        {
          "id": "80000001-1234567890",
          "fullName": "Expenses:Utilities"
        }
      ],
      "currency": {
        "id": "80000001-1234567890",
        "fullName": "USD"
      },
      "customFields": [
        {
          "ownerId": "0",
          "name": "Customer Rating",
          "type": "string_1024_type",
          "value": "Premium"
        }
      ]
    }
  ],
  "nextCursor": "12345678-abcd-abcd-example-1234567890ab",
  "remainingCount": 10
}

Changes

    • info

      removed the australia enum value from the /// response property for the response status

    • info

      removed the canada enum value from the /// response property for the response status

    • info

      removed the uk enum value from the /// response property for the response status

    • info

      removed the united_arab_emirates enum value from the /// response property for the response status

    • info

      removed the us enum value from the /// response property for the response status

    • warning

      added the new united_arab_emirates enum value to the /// response property for the response status