> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conductor.is/llms.txt
> Use this file to discover all available pages before exploring further.

# List all customers

> Returns a list of customers. Use the `cursor` parameter to paginate through the results.



## OpenAPI

````yaml GET /quickbooks-desktop/customers
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/customers:
    get:
      summary: List all customers
      description: >-
        Returns a list of customers. Use the `cursor` parameter to paginate
        through the results.
      parameters:
        - in: query
          name: ids
          description: >-
            Filter for specific customers 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.
          schema:
            type: array
            items:
              type: string
            description: >-
              Filter for specific customers 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.
            example:
              - 80000001-1234567890
        - in: query
          name: fullNames
          description: >-
            Filter for specific customers by their full-name(s),
            case-insensitive. Like `id`, `fullName` is a unique identifier for a
            customer, formed by by combining the names of its parent objects
            with its own `name`, separated by colons. For example, if a customer
            is under "ABC Corporation" and has the `name` "Website Redesign
            Project", its `fullName` would be "ABC Corporation:Website Redesign
            Project".


            **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.
          schema:
            type: array
            items:
              type: string
            description: >-
              Filter for specific customers by their full-name(s),
              case-insensitive. Like `id`, `fullName` is a unique identifier for
              a customer, formed by by combining the names of its parent objects
              with its own `name`, separated by colons. For example, if a
              customer is under "ABC Corporation" and has the `name` "Website
              Redesign Project", its `fullName` would be "ABC
              Corporation:Website Redesign Project".


              **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:
              - ABC Corporation:Website Redesign Project
        - in: query
          name: limit
          description: >-
            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.
          schema:
            type: integer
            minimum: 1
            maximum: 150
            default: 150
            description: >-
              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
        - in: query
          name: cursor
          description: >-
            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.
          schema:
            type: string
            description: >-
              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
        - in: query
          name: status
          description: Filter for customers that are active, inactive, or both.
          schema:
            type: string
            enum:
              - active
              - all
              - inactive
            default: active
            description: Filter for customers that are active, inactive, or both.
            example: active
        - in: query
          name: updatedAfter
          description: >-
            Filter for customers 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.
          schema:
            type: string
            description: >-
              Filter for customers 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.000Z'
        - in: query
          name: updatedBefore
          description: >-
            Filter for customers 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.
          schema:
            type: string
            description: >-
              Filter for customers 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.000Z'
        - in: query
          name: nameContains
          description: >-
            Filter for customers whose `name` contains this substring,
            case-insensitive.


            **NOTE**: If you use this parameter, you cannot also use
            `nameStartsWith` or `nameEndsWith`.
          schema:
            type: string
            description: >-
              Filter for customers whose `name` contains this substring,
              case-insensitive.


              **NOTE**: If you use this parameter, you cannot also use
              `nameStartsWith` or `nameEndsWith`.
            example: ABC
        - in: query
          name: nameStartsWith
          description: >-
            Filter for customers whose `name` starts with this substring,
            case-insensitive.


            **NOTE**: If you use this parameter, you cannot also use
            `nameContains` or `nameEndsWith`.
          schema:
            type: string
            description: >-
              Filter for customers whose `name` starts with this substring,
              case-insensitive.


              **NOTE**: If you use this parameter, you cannot also use
              `nameContains` or `nameEndsWith`.
            example: ABC
        - in: query
          name: nameEndsWith
          description: >-
            Filter for customers whose `name` ends with this substring,
            case-insensitive.


            **NOTE**: If you use this parameter, you cannot also use
            `nameContains` or `nameStartsWith`.
          schema:
            type: string
            description: >-
              Filter for customers whose `name` ends with this substring,
              case-insensitive.


              **NOTE**: If you use this parameter, you cannot also use
              `nameContains` or `nameStartsWith`.
            example: ABC
        - in: query
          name: nameFrom
          description: >-
            Filter for customers whose `name` is alphabetically greater than or
            equal to this value.
          schema:
            type: string
            description: >-
              Filter for customers whose `name` is alphabetically greater than
              or equal to this value.
            example: A
        - in: query
          name: nameTo
          description: >-
            Filter for customers whose `name` is alphabetically less than or
            equal to this value.
          schema:
            type: string
            description: >-
              Filter for customers whose `name` is alphabetically less than or
              equal to this value.
            example: Z
        - in: query
          name: totalBalance
          description: >-
            Filter for customers whose `totalBalance` equals this amount,
            represented as a decimal string. You can only use one total-balance
            filter at a time.
          schema:
            type: string
            description: >-
              Filter for customers whose `totalBalance` equals this amount,
              represented as a decimal string. You can only use one
              total-balance filter at a time.
            example: '123.45'
        - in: query
          name: totalBalanceGreaterThan
          description: >-
            Filter for customers whose `totalBalance` is greater than this
            amount, represented as a decimal string. You can only use one
            total-balance filter at a time.
          schema:
            type: string
            description: >-
              Filter for customers 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'
        - in: query
          name: totalBalanceGreaterThanOrEqualTo
          description: >-
            Filter for customers 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.
          schema:
            type: string
            description: >-
              Filter for customers 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'
        - in: query
          name: totalBalanceLessThan
          description: >-
            Filter for customers whose `totalBalance` is less than this amount,
            represented as a decimal string. You can only use one total-balance
            filter at a time.
          schema:
            type: string
            description: >-
              Filter for customers 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'
        - in: query
          name: totalBalanceLessThanOrEqualTo
          description: >-
            Filter for customers 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.
          schema:
            type: string
            description: >-
              Filter for customers 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'
        - in: query
          name: currencyIds
          description: Filter for customers in these currencies.
          schema:
            type: array
            items:
              type: string
            description: Filter for customers in these currencies.
            example:
              - 80000001-1234567890
        - in: query
          name: classIds
          description: >-
            Filter for customers of these classes. A class is a way end-users
            can categorize customers in QuickBooks.
          schema:
            type: array
            items:
              type: string
            description: >-
              Filter for customers of these classes. A class is a way end-users
              can categorize customers in QuickBooks.
            example:
              - 80000001-1234567890
        - in: header
          name: Conductor-End-User-Id
          description: The ID of the End-User to receive this request.
          schema:
            type: string
            description: The ID of the End-User to receive this request.
            example: end_usr_1234567abcdefg
            x-stainless-naming:
              typescript:
                method_argument: conductorEndUserId
              mcp:
                method_argument: conductorEndUserId
          required: true
      responses:
        '200':
          description: Returns a list of customers.
          headers:
            Conductor-Request-Id:
              schema:
                type: string
                description: The unique identifier for this API request.
                example: req_1234567abcdefg
              required: true
          content:
            application/json:
              schema:
                type: object
                properties:
                  objectType:
                    type: string
                    const: list
                    description: The type of object. This value is always `"list"`.
                    example: list
                  url:
                    type: string
                    description: The endpoint URL where this list can be accessed.
                    example: /v1/quickbooks-desktop/customers
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/qbd_customer'
                    description: The array of customers.
                  nextCursor:
                    type:
                      - string
                      - 'null'
                    description: >-
                      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:
                    type:
                      - number
                      - 'null'
                    description: The number of objects remaining to be fetched.
                    example: 10
                  hasMore:
                    type: boolean
                    description: Indicates whether there are more objects to be fetched.
                required:
                  - objectType
                  - url
                  - data
                  - nextCursor
                  - remainingCount
                  - hasMore
                additionalProperties: false
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Conductor from 'conductor-node';

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

            // Automatically fetches more pages as needed.
            for await (const customer of conductor.qbd.customers.list({
              conductorEndUserId: 'end_usr_1234567abcdefg',
            })) {
              console.log(customer.id);
            }
        - lang: Python
          source: |-
            import os
            from conductor import Conductor

            conductor = Conductor(
                api_key=os.environ.get("CONDUCTOR_SECRET_KEY"),  # This is the default and can be omitted
            )
            page = conductor.qbd.customers.list(
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            page = page.data[0]
            print(page.id)
components:
  schemas:
    qbd_customer:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this customer. This
            ID is unique across all customers but not across different
            QuickBooks object types.
          example: 80000001-1234567890
        objectType:
          type: string
          const: qbd_customer
          description: The type of object. This value is always `"qbd_customer"`.
          example: qbd_customer
        createdAt:
          type: string
          description: >-
            The date and time when this customer 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.
          example: '2025-01-01T12:34:56.000Z'
        updatedAt:
          type: string
          description: >-
            The date and time when this customer 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.
          example: '2025-02-01T12:34:56.000Z'
        revisionNumber:
          type: string
          description: >-
            The current QuickBooks-assigned revision number of this customer
            object, which changes each time the object is modified. When
            updating this object, you must provide the most recent
            `revisionNumber` to ensure you're working with the latest data;
            otherwise, the update will return an error.
          example: '1721172183'
        name:
          type: string
          description: >-
            The case-insensitive name of this customer. Not guaranteed to be
            unique because it does not include the names of its hierarchical
            parent objects like `fullName` does. For example, two customers
            could both have the `name` "Website Redesign Project", but they
            could have unique `fullName` values, such as "ABC
            Corporation:Website Redesign Project" and "Baker:Website Redesign
            Project".
          example: Website Redesign Project
        fullName:
          type: string
          description: >-
            The case-insensitive fully-qualified unique name of this customer,
            formed by combining the names of its hierarchical parent objects
            with its own `name`, separated by colons. For example, if a customer
            is under "ABC Corporation" and has the `name` "Website Redesign
            Project", its `fullName` would be "ABC Corporation:Website Redesign
            Project".


            **NOTE**: Unlike `name`, `fullName` is guaranteed to be unique
            across all customer objects. However, `fullName` can still be
            arbitrarily changed by the QuickBooks user when they modify the
            underlying `name` field.


            **IMPORTANT**: If this object is a job (i.e., a sub-customer), this
            value would likely be the job's `name` prefixed by the customer's
            `name`.
          example: ABC Corporation:Website Redesign Project
        isActive:
          type: boolean
          description: >-
            Indicates whether this customer is active. Inactive objects are
            typically hidden from views and reports in QuickBooks. Defaults to
            `true`.
          example: true
        class:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The customer's class. Classes can be used to categorize objects into
            meaningful segments, such as department, location, or type of work.
            In QuickBooks, class tracking is off by default.
          example:
            id: 80000001-1234567890
            fullName: Consulting
        parent:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The parent customer one level above this one in the hierarchy. For
            example, if this customer has a `fullName` of "ABC
            Corporation:Website Redesign Project", its parent has a `fullName`
            of "ABC Corporation". If this customer is at the top level, this
            field will be `null`.
          example:
            id: 80000001-1234567890
            fullName: ABC Corporation
        sublevel:
          type: number
          description: >-
            The depth level of this customer in the hierarchy. A top-level
            customer has a `sublevel` of 0; each subsequent sublevel increases
            this number by 1. For example, a customer with a `fullName` of "ABC
            Corporation:Website Redesign Project" would have a `sublevel` of 1.
            When `sublevel` is 0, this object is a customer; when `sublevel` is
            greater than 0, this object is typically a job (i.e., a
            sub-customer).
          example: 1
        companyName:
          type:
            - string
            - 'null'
          description: >-
            The name of the company associated with this customer. This name is
            used on invoices, checks, and other forms.
          example: Acme Corporation
        salutation:
          type:
            - string
            - 'null'
          description: >-
            The formal salutation title that precedes the name of the contact
            person for this customer, such as "Mr.", "Ms.", or "Dr.".
          example: Dr.
        firstName:
          type:
            - string
            - 'null'
          description: The first name of the contact person for this customer.
          example: John
        middleName:
          type:
            - string
            - 'null'
          description: The middle name of the contact person for this customer.
          example: A.
        lastName:
          type:
            - string
            - 'null'
          description: The last name of the contact person for this customer.
          example: Doe
        jobTitle:
          type:
            - string
            - 'null'
          description: The job title of the contact person for this customer.
          example: Purchasing Manager
        billingAddress:
          oneOf:
            - $ref: '#/components/schemas/qbd_address'
            - type: 'null'
          description: The customer's billing address.
        shippingAddress:
          oneOf:
            - $ref: '#/components/schemas/qbd_address'
            - type: 'null'
          description: The customer's shipping address.
        alternateShippingAddresses:
          type: array
          items:
            $ref: '#/components/schemas/qbd_shipping_address'
          description: >-
            A list of additional shipping addresses for this customer. Useful
            when the customer has multiple shipping locations.
        phone:
          type:
            - string
            - 'null'
          description: The customer's primary telephone number.
          example: +1-555-123-4567
        alternatePhone:
          type:
            - string
            - 'null'
          description: The customer's alternate telephone number.
          example: +1-555-987-6543
        fax:
          type:
            - string
            - 'null'
          description: The customer's fax number.
          example: +1-555-555-1212
        email:
          type:
            - string
            - 'null'
          description: The customer's email address.
          example: customer@example.com
        ccEmail:
          type:
            - string
            - 'null'
          description: >-
            An email address to carbon copy (CC) on communications with this
            customer.
          example: manager@example.com
        contact:
          type:
            - string
            - 'null'
          description: The name of the primary contact person for this customer.
          example: Jane Smith
        alternateContact:
          type:
            - string
            - 'null'
          description: The name of a alternate contact person for this customer.
          example: Bob Johnson
        customContactFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_contact_field'
          description: >-
            Additional custom contact fields for this customer, such as phone
            numbers or email addresses.
        additionalContacts:
          type: array
          items:
            $ref: '#/components/schemas/qbd_contact'
          description: Additional alternate contacts for this customer.
        customerType:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The customer's type, used for categorizing customers into meaningful
            segments, such as industry or region.
          example:
            id: 80000001-1234567890
            fullName: Retail Customer
        terms:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The customer's payment terms, defining when payment is due and any
            applicable discounts.
          example:
            id: 80000001-1234567890
            fullName: Net 30
        salesRepresentative:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The customer's sales representative. Sales representatives can be
            employees, vendors, or other names in QuickBooks.
          example:
            id: 80000001-1234567890
            fullName: Jane Doe
        balance:
          type:
            - string
            - 'null'
          description: >-
            The current balance owed by this customer, excluding balances from
            any jobs (i.e., sub-customers), represented as a decimal string.
            Compare with `totalBalance`. A positive number indicates money owed
            by the customer.
          example: '1000.00'
        totalBalance:
          type:
            - string
            - 'null'
          description: >-
            The combined balance of this customer and all of this customer's
            jobs (i.e., sub-customers), represented as a decimal string. If
            there are no sub-customers, `totalBalance` and `balance` are equal.
            A positive number indicates money owed by the customer.
          example: '5000.00'
        salesTaxCode:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The default sales-tax code for transactions with this customer,
            determining whether the transactions are taxable or non-taxable.
            This can be overridden at the transaction or transaction-line level.


            Default codes include "Non" (non-taxable) and "Tax" (taxable), but
            custom codes can also be created in QuickBooks. If QuickBooks is not
            set up to charge sales tax (via the "Do You Charge Sales Tax?"
            preference), it will assign the default non-taxable code to all
            sales.
          example:
            id: 80000001-1234567890
            fullName: Non
        salesTaxItem:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales-tax item used to calculate the actual tax amount for this
            customer's transactions by applying a specific tax rate collected
            for a single tax agency. Unlike `salesTaxCode`, which only indicates
            general taxability, this field drives the actual tax calculation and
            reporting.
          example:
            id: 80000001-1234567890
            fullName: State Sales Tax
        salesTaxCountry:
          type:
            - string
            - 'null'
          enum:
            - australia
            - canada
            - uk
            - us
            - null
          description: The country for which sales tax is collected for this customer.
          example: us
        resaleNumber:
          type:
            - string
            - 'null'
          description: >-
            The customer's resale number, used if the customer is purchasing
            items for resale. This number does not affect sales tax calculations
            or reports in QuickBooks.
          example: '123456789'
        accountNumber:
          type:
            - string
            - 'null'
          description: >-
            The customer's account number, which appears in the QuickBooks chart
            of accounts, reports, and graphs.


            Note that if the "Use Account Numbers" preference is turned off in
            QuickBooks, the account number may not be visible in the user
            interface, but it can still be set and retrieved through the API.
          example: '1010'
        creditLimit:
          type:
            - string
            - 'null'
          description: >-
            The customer's credit limit, represented as a decimal string. This
            is the maximum amount of money this customer can spend before being
            billed. If `null`, there is no credit limit.
          example: '5000.00'
        preferredPaymentMethod:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The customer's preferred payment method (e.g., cash, check, credit
            card).
          example:
            id: 80000001-1234567890
            fullName: Credit Card
        creditCard:
          oneOf:
            - $ref: '#/components/schemas/qbd_credit_card'
            - type: 'null'
          description: >-
            The customer's credit card information, including card type, number,
            and expiration date, used for processing credit card payments.
        jobStatus:
          type:
            - string
            - 'null'
          enum:
            - awarded
            - closed
            - in_progress
            - none
            - not_awarded
            - pending
            - null
          description: >-
            The status of this customer's job, if this object is a job (i.e.,
            sub-customer).
          example: in_progress
        jobStartDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The date when work on this customer's job began, if applicable, in
            ISO 8601 format (YYYY-MM-DD).
          example: '2024-01-15'
        jobProjectedEndDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The projected completion date for this customer's job, if
            applicable, in ISO 8601 format (YYYY-MM-DD).
          example: '2024-12-31'
        jobEndDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The actual completion date of this customer's job, if applicable, in
            ISO 8601 format (YYYY-MM-DD).
          example: '2024-11-30'
        jobDescription:
          type:
            - string
            - 'null'
          description: >-
            A brief description of this customer's job, if this object is a job
            (i.e., sub-customer).
          example: Kitchen renovation project for residential client.
        jobType:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The type or category of this customer's job, if this object is a job
            (i.e., sub-customer). Useful for classifying into meaningful
            segments (e.g., repair, installation, consulting).
          example:
            id: 80000001-1234567890
            fullName: Installation
        note:
          type:
            - string
            - 'null'
          description: A note or comment about this customer.
          example: Our favorite customer.
        additionalNotes:
          type: array
          items:
            $ref: '#/components/schemas/qbd_note'
          description: Additional notes about this customer.
        preferredDeliveryMethod:
          type:
            - string
            - 'null'
          enum:
            - email
            - mail
            - none
            - null
          description: >-
            The preferred method for delivering invoices and other documents to
            this customer.
          example: email
        priceLevel:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The customer's custom price level that QuickBooks automatically
            applies to calculate item rates in new transactions (e.g., invoices,
            sales receipts, sales orders, and credit memos) for this customer.
            While applied automatically, this can be overridden when creating
            individual transactions. Note that transactions will not show the
            price level itself, only the final `rate` calculated from it.
          example:
            id: 80000001-1234567890
            fullName: Gold Member Pricing
        externalId:
          type:
            - string
            - 'null'
          description: >-
            A globally unique identifier (GUID) you, the developer, can provide
            for tracking this object in your external system. This field is
            immutable and can only be set during object creation.
          example: 12345678-abcd-1234-abcd-1234567890ab
        taxRegistrationNumber:
          type:
            - string
            - 'null'
          description: The customer's tax registration number, for use in Canada or the UK.
          example: GB123456789
        currency:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                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.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The customer's currency. For built-in currencies, the name and code
            are standard ISO 4217 international values. For user-defined
            currencies, all values are editable.
          example:
            id: 80000001-1234567890
            fullName: USD
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the customer object, added as user-defined
            data extensions, not included in the standard QuickBooks object.
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - name
        - fullName
        - isActive
        - class
        - parent
        - sublevel
        - companyName
        - salutation
        - firstName
        - middleName
        - lastName
        - jobTitle
        - billingAddress
        - shippingAddress
        - alternateShippingAddresses
        - phone
        - alternatePhone
        - fax
        - email
        - ccEmail
        - contact
        - alternateContact
        - customContactFields
        - additionalContacts
        - customerType
        - terms
        - salesRepresentative
        - balance
        - totalBalance
        - salesTaxCode
        - salesTaxItem
        - salesTaxCountry
        - resaleNumber
        - accountNumber
        - creditLimit
        - preferredPaymentMethod
        - creditCard
        - jobStatus
        - jobStartDate
        - jobProjectedEndDate
        - jobEndDate
        - jobDescription
        - jobType
        - note
        - additionalNotes
        - preferredDeliveryMethod
        - priceLevel
        - externalId
        - taxRegistrationNumber
        - currency
        - customFields
      additionalProperties: false
      title: The Customer object
      x-conductor-object-type: other
      x-conductor-sidebar-group-name: Customers / Jobs
      summary: >-
        A customer record in QuickBooks Desktop represents either a business or
        individual who purchases goods or services, or a specific job/project
        being performed for that customer. Jobs are treated as sub-customers and
        inherit billing information from their parent customer while allowing
        for job-specific details to be tracked.
    qbd_address:
      type: object
      properties:
        line1:
          type:
            - string
            - 'null'
          description: >-
            The first line of the address (e.g., street, PO Box, or company
            name).
          example: Conductor Labs Inc.
        line2:
          type:
            - string
            - 'null'
          description: >-
            The second line of the address, if needed (e.g., apartment, suite,
            unit, or building).
          example: 540 Market St.
        line3:
          type:
            - string
            - 'null'
          description: The third line of the address, if needed.
          example: Suite 100
        line4:
          type:
            - string
            - 'null'
          description: The fourth line of the address, if needed.
          example: ''
        line5:
          type:
            - string
            - 'null'
          description: The fifth line of the address, if needed.
          example: ''
        city:
          type:
            - string
            - 'null'
          description: The city, district, suburb, town, or village name of the address.
          example: San Francisco
        state:
          type:
            - string
            - 'null'
          description: The state, county, province, or region name of the address.
          example: CA
        postalCode:
          type:
            - string
            - 'null'
          description: The postal code or ZIP code of the address.
          example: '94110'
        country:
          type:
            - string
            - 'null'
          description: The country name of the address.
          example: United States
        note:
          type:
            - string
            - 'null'
          description: >-
            A note written at the bottom of the address in the form in which it
            appears, such as the invoice form.
          example: Conductor HQ
      required:
        - line1
        - line2
        - line3
        - line4
        - line5
        - city
        - state
        - postalCode
        - country
        - note
      additionalProperties: false
      title: The Address object
      x-conductor-object-type: nested
    qbd_shipping_address:
      type: object
      properties:
        name:
          type:
            - string
            - 'null'
          description: >-
            The case-insensitive unique name of this shipping address, unique
            across all shipping addresses.


            **NOTE**: Shipping addresses do not have a `fullName` field because
            they are not hierarchical objects, which is why `name` is unique for
            them but not for objects that have parents.
          example: Alternate shipping address
        line1:
          type:
            - string
            - 'null'
          description: >-
            The first line of the shipping address (e.g., street, PO Box, or
            company name).
          example: Conductor Labs Inc.
        line2:
          type:
            - string
            - 'null'
          description: >-
            The second line of the shipping address, if needed (e.g., apartment,
            suite, unit, or building).
          example: 540 Market St.
        line3:
          type:
            - string
            - 'null'
          description: The third line of the shipping address, if needed.
          example: Suite 100
        line4:
          type:
            - string
            - 'null'
          description: The fourth line of the shipping address, if needed.
          example: ''
        line5:
          type:
            - string
            - 'null'
          description: The fifth line of the shipping address, if needed.
          example: ''
        city:
          type:
            - string
            - 'null'
          description: >-
            The city, district, suburb, town, or village name of the shipping
            address.
          example: San Francisco
        state:
          type:
            - string
            - 'null'
          description: The state, county, province, or region name of the shipping address.
          example: CA
        postalCode:
          type:
            - string
            - 'null'
          description: The postal code or ZIP code of the shipping address.
          example: '94110'
        country:
          type:
            - string
            - 'null'
          description: The country name of the shipping address.
          example: United States
        note:
          type:
            - string
            - 'null'
          description: >-
            A note written at the bottom of the shipping address in the form in
            which it appears, such as the invoice form.
          example: Conductor HQ
        isDefaultShippingAddress:
          type:
            - boolean
            - 'null'
          description: >-
            Indicates whether this shipping address is the default shipping
            address.
          example: true
      required:
        - name
        - line1
        - line2
        - line3
        - line4
        - line5
        - city
        - state
        - postalCode
        - country
        - note
        - isDefaultShippingAddress
      additionalProperties: false
      title: The Shipping Address object
      x-conductor-object-type: nested
    qbd_custom_contact_field:
      type: object
      properties:
        name:
          type: string
          description: >-
            The name of the contact field (e.g., "old address", "secondary
            phone").
          example: Main Phone
        value:
          type:
            - string
            - 'null'
          description: The value of the contact field.
          example: 555-123-4567
      required:
        - name
        - value
      additionalProperties: false
      title: The Custom Contact Field object
      x-conductor-object-type: nested
    qbd_contact:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this contact. This
            ID is unique across all contacts but not across different QuickBooks
            object types.
          example: 80000001-1234567890
        objectType:
          type: string
          const: qbd_contact
          description: The type of object. This value is always `"qbd_contact"`.
          example: qbd_contact
        createdAt:
          type: string
          description: >-
            The date and time when this contact 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.
          example: '2025-01-01T12:34:56.000Z'
        updatedAt:
          type: string
          description: >-
            The date and time when this contact 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.
          example: '2025-02-01T12:34:56.000Z'
        revisionNumber:
          type: string
          description: >-
            The current QuickBooks-assigned revision number of this contact
            object, which changes each time the object is modified. When
            updating this object, you must provide the most recent
            `revisionNumber` to ensure you're working with the latest data;
            otherwise, the update will return an error.
          example: '1721172183'
        name:
          type:
            - string
            - 'null'
          description: The contact's full name.
          example: Jane Smith
        salutation:
          type:
            - string
            - 'null'
          description: >-
            The contact's formal salutation title that precedes their name, such
            as "Mr.", "Ms.", or "Dr.".
          example: Dr.
        firstName:
          type: string
          description: The contact's first name.
          example: John
        middleName:
          type:
            - string
            - 'null'
          description: The contact's middle name.
          example: A.
        lastName:
          type:
            - string
            - 'null'
          description: The contact's last name.
          example: Doe
        jobTitle:
          type:
            - string
            - 'null'
          description: The contact's job title.
          example: Purchasing Manager
        customContactFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_contact_field'
          description: >-
            Additional custom contact fields for this contact, such as phone
            numbers or email addresses.
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - name
        - salutation
        - firstName
        - middleName
        - lastName
        - jobTitle
        - customContactFields
      additionalProperties: false
      title: The Contact object
      x-conductor-object-type: nested
    qbd_credit_card:
      type: object
      properties:
        number:
          type:
            - string
            - 'null'
          description: >-
            The credit card number. Must be masked with lower case "x" and no
            dashes.
          example: xxxxxxxxxxxx1234
        expirationMonth:
          type:
            - number
            - 'null'
          description: The month when the credit card expires.
          example: 12
        expirationYear:
          type:
            - number
            - 'null'
          description: The year when the credit card expires.
          example: 2024
        name:
          type:
            - string
            - 'null'
          description: The cardholder's name on the card.
          example: John Doe
        address:
          type:
            - string
            - 'null'
          description: The card's billing address.
          example: 1234 Main St, Anytown, USA, 12345
        postalCode:
          type:
            - string
            - 'null'
          description: The card's billing address ZIP or postal code.
          example: '12345'
      required:
        - number
        - expirationMonth
        - expirationYear
        - name
        - address
        - postalCode
      additionalProperties: false
      title: The Credit Card object
      x-conductor-object-type: nested
    qbd_note:
      type: object
      properties:
        id:
          type: number
          description: >-
            The auto-incrementing identifier assigned by QuickBooks to this
            note.
          example: 1
        date:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The date this note was last updated, in ISO 8601 format
            (YYYY-MM-DD).
          example: '2024-01-01'
        note:
          type: string
          description: The text of this note.
          example: This is a fun note.
      required:
        - id
        - date
        - note
      additionalProperties: false
      title: The Note object
      x-conductor-object-type: nested
    qbd_custom_field:
      type: object
      properties:
        ownerId:
          type: string
          description: >-
            The identifier of the owner of the custom field, which QuickBooks
            internally calls a "data extension". For public custom fields
            visible in the UI, such as those added by the QuickBooks user, this
            is always "0". For private custom fields that are only visible to
            the application that created them, this is a valid GUID identifying
            the owning application. Internally, Conductor always fetches all
            public custom fields (those with an `ownerId` of "0") for all
            objects.
          example: '0'
        name:
          type: string
          description: >-
            The name of the custom field, unique for the specified `ownerId`.
            For public custom fields, this name is visible as a label in the
            QuickBooks UI.
          example: Customer Rating
        type:
          type: string
          enum:
            - amount_type
            - date_time_type
            - integer_type
            - percent_type
            - price_type
            - quantity_type
            - string_1024_type
            - string_255_type
          description: The data type of this custom field.
          example: string_1024_type
        value:
          type: string
          description: >-
            The value of this custom field. The maximum length depends on the
            field's data type.
          example: Premium
      required:
        - ownerId
        - name
        - type
        - value
      additionalProperties: false
      title: The Custom Field object
      x-conductor-object-type: nested
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Conductor secret key using Bearer auth (e.g., `"Authorization:
        Bearer {{YOUR_SECRET_KEY}}"`).

````

Built with [Mintlify](https://mintlify.com).