> ## 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 accounts

> Returns a list of accounts. NOTE: QuickBooks Desktop does not support pagination for accounts; hence, there is no `cursor` parameter. Users typically have few accounts.



## OpenAPI

````yaml GET /quickbooks-desktop/accounts
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/accounts:
    get:
      summary: List all accounts
      description: >-
        Returns a list of accounts. NOTE: QuickBooks Desktop does not support
        pagination for accounts; hence, there is no `cursor` parameter. Users
        typically have few accounts.
      parameters:
        - in: query
          name: ids
          description: >-
            Filter for specific accounts 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 accounts 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 accounts by their full-name(s),
            case-insensitive. Like `id`, `fullName` is a unique identifier for
            an account, formed by by combining the names of its parent objects
            with its own `name`, separated by colons. For example, if an account
            is under "Corporate" and has the `name` "Accounts-Payable", its
            `fullName` would be "Corporate:Accounts-Payable".


            **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 accounts by their full-name(s),
              case-insensitive. Like `id`, `fullName` is a unique identifier for
              an account, formed by by combining the names of its parent objects
              with its own `name`, separated by colons. For example, if an
              account is under "Corporate" and has the `name`
              "Accounts-Payable", its `fullName` would be
              "Corporate:Accounts-Payable".


              **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:
              - Corporate:Accounts-Payable
        - in: query
          name: limit
          description: >-
            The maximum number of objects to return.


            **IMPORTANT**: QuickBooks Desktop does not support cursor-based
            pagination for accounts. This parameter will limit the response
            size, but you cannot fetch subsequent results using a cursor. For
            pagination, use the name-range parameters instead (e.g.,
            `nameFrom=A&nameTo=B`).


            When this parameter is omitted, the endpoint returns all accounts
            without limit, unlike paginated endpoints which default to 150
            records. This is acceptable because accounts typically have low
            record counts.
          schema:
            type: integer
            minimum: 1
            description: >-
              The maximum number of objects to return.


              **IMPORTANT**: QuickBooks Desktop does not support cursor-based
              pagination for accounts. This parameter will limit the response
              size, but you cannot fetch subsequent results using a cursor. For
              pagination, use the name-range parameters instead (e.g.,
              `nameFrom=A&nameTo=B`).


              When this parameter is omitted, the endpoint returns all accounts
              without limit, unlike paginated endpoints which default to 150
              records. This is acceptable because accounts typically have low
              record counts.
            example: 10
        - in: query
          name: status
          description: Filter for accounts that are active, inactive, or both.
          schema:
            type: string
            enum:
              - active
              - all
              - inactive
            default: active
            description: Filter for accounts that are active, inactive, or both.
            example: active
        - in: query
          name: updatedAfter
          description: >-
            Filter for accounts 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 accounts 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 accounts 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 accounts 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 accounts 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 accounts 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 accounts 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 accounts 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 accounts 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 accounts 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 accounts whose `name` is alphabetically greater than or
            equal to this value.
          schema:
            type: string
            description: >-
              Filter for accounts whose `name` is alphabetically greater than or
              equal to this value.
            example: A
        - in: query
          name: nameTo
          description: >-
            Filter for accounts whose `name` is alphabetically less than or
            equal to this value.
          schema:
            type: string
            description: >-
              Filter for accounts whose `name` is alphabetically less than or
              equal to this value.
            example: Z
        - in: query
          name: accountType
          description: Filter for accounts of this type.
          schema:
            type: string
            enum:
              - accounts_payable
              - accounts_receivable
              - bank
              - cost_of_goods_sold
              - credit_card
              - equity
              - expense
              - fixed_asset
              - income
              - long_term_liability
              - non_posting
              - other_asset
              - other_current_asset
              - other_current_liability
              - other_expense
              - other_income
            description: Filter for accounts of this type.
            example: income
        - in: query
          name: currencyIds
          description: Filter for accounts in these currencies.
          schema:
            type: array
            items:
              type: string
            description: Filter for accounts in these currencies.
            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 accounts.
          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/accounts
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/qbd_account'
                    description: The array of accounts.
                required:
                  - objectType
                  - url
                  - data
                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
            });

            const accounts = await conductor.qbd.accounts.list({
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });

            console.log(accounts.data);
        - 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
            )
            accounts = conductor.qbd.accounts.list(
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(accounts.data)
components:
  schemas:
    qbd_account:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this account. This
            ID is unique across all accounts but not across different QuickBooks
            object types.
          example: 80000001-1234567890
        objectType:
          type: string
          const: qbd_account
          description: The type of object. This value is always `"qbd_account"`.
          example: qbd_account
        createdAt:
          type: string
          description: >-
            The date and time when this account 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 account 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 account
            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 account. Not guaranteed to be
            unique because it does not include the names of its hierarchical
            parent objects like `fullName` does. For example, two accounts could
            both have the `name` "Accounts-Payable", but they could have unique
            `fullName` values, such as "Corporate:Accounts-Payable" and
            "Finance:Accounts-Payable".
          example: Accounts-Payable
        fullName:
          type: string
          description: >-
            The case-insensitive fully-qualified unique name of this account,
            formed by combining the names of its hierarchical parent objects
            with its own `name`, separated by colons. For example, if an account
            is under "Corporate" and has the `name` "Accounts-Payable", its
            `fullName` would be "Corporate:Accounts-Payable".


            **NOTE**: Unlike `name`, `fullName` is guaranteed to be unique
            across all account objects. However, `fullName` can still be
            arbitrarily changed by the QuickBooks user when they modify the
            underlying `name` field.
          example: Corporate:Accounts-Payable
        isActive:
          type: boolean
          description: >-
            Indicates whether this account is active. Inactive objects are
            typically hidden from views and reports in QuickBooks. Defaults to
            `true`.
          example: true
        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 account one level above this one in the hierarchy. For
            example, if this account has a `fullName` of
            "Corporate:Accounts-Payable", its parent has a `fullName` of
            "Corporate". If this account is at the top level, this field will be
            `null`.
          example:
            id: 80000001-1234567890
            fullName: Corporate
        sublevel:
          type: number
          description: >-
            The depth level of this account in the hierarchy. A top-level
            account has a `sublevel` of 0; each subsequent sublevel increases
            this number by 1. For example, an account with a `fullName` of
            "Corporate:Accounts-Payable" would have a `sublevel` of 1.
          example: 1
        accountType:
          type: string
          enum:
            - accounts_payable
            - accounts_receivable
            - bank
            - cost_of_goods_sold
            - credit_card
            - equity
            - expense
            - fixed_asset
            - income
            - long_term_liability
            - non_posting
            - other_asset
            - other_current_asset
            - other_current_liability
            - other_expense
            - other_income
          description: >-
            The classification of this account, indicating its purpose within
            the chart of accounts.


            **NOTE**: You cannot create an account of type `non_posting` through
            the API because QuickBooks creates these accounts behind the scenes.
          example: bank
        specialAccountType:
          type:
            - string
            - 'null'
          enum:
            - accounts_payable
            - accounts_receivable
            - condense_item_adjustment_expenses
            - cost_of_goods_sold
            - direct_deposit_liabilities
            - estimates
            - exchange_gain_loss
            - inventory_assets
            - item_receipt_account
            - opening_balance_equity
            - payroll_expenses
            - payroll_liabilities
            - petty_cash
            - purchase_orders
            - reconciliation_differences
            - retained_earnings
            - sales_orders
            - sales_tax_payable
            - uncategorized_expenses
            - uncategorized_income
            - undeposited_funds
            - null
          description: >-
            Indicates if this account is a special account automatically created
            by QuickBooks for specific purposes.
          example: undeposited_funds
        isTaxAccount:
          type:
            - boolean
            - 'null'
          description: Indicates whether this account is used for tracking taxes.
          example: true
        accountNumber:
          type:
            - string
            - 'null'
          description: >-
            The account'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'
        bankAccountNumber:
          type:
            - string
            - 'null'
          description: >-
            The bank account number or identifying note for this account. Access
            to this field may be restricted based on permissions.
          example: '123456789'
        description:
          type:
            - string
            - 'null'
          description: A description of this account.
          example: >-
            Accounts-payable are the amounts owed to suppliers for goods and
            services purchased on credit.
        balance:
          type:
            - string
            - 'null'
          description: >-
            The current balance of this account only, excluding balances from
            any subordinate accounts, represented as a decimal string. Compare
            with `totalBalance`. Note that income accounts and balance sheet
            accounts may not have balances.
          example: '1000.00'
        totalBalance:
          type:
            - string
            - 'null'
          description: >-
            The combined balance of this account and all its sub-accounts,
            represented as a decimal string. For example, the `totalBalance` for
            XYZ Bank would be the total of the balances of all its sub-accounts
            (checking, savings, and so on). If XYZ Bank did not have any
            sub-accounts, `totalBalance` and `balance` would be the same.
          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 account,
            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
        taxLineDetails:
          oneOf:
            - $ref: '#/components/schemas/qbd_tax_line_info'
            - type: 'null'
          description: The account's tax line details, used for tax reporting purposes.
        cashFlowClassification:
          type:
            - string
            - 'null'
          enum:
            - financing
            - investing
            - none
            - not_applicable
            - operating
            - null
          description: >-
            Indicates how this account is classified for cash flow reporting. If
            `none`, the account has not been classified. If `not_applicable`,
            the account does not qualify to be classified (e.g., a bank account
            tracking cash transactions is not part of a cash flow report).
          example: operating
        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 account'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 account object, added as user-defined data
            extensions, not included in the standard QuickBooks object.
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - name
        - fullName
        - isActive
        - parent
        - sublevel
        - accountType
        - specialAccountType
        - isTaxAccount
        - accountNumber
        - bankAccountNumber
        - description
        - balance
        - totalBalance
        - salesTaxCode
        - taxLineDetails
        - cashFlowClassification
        - currency
        - customFields
      additionalProperties: false
      title: The Account object
      x-conductor-object-type: other
      summary: >-
        An account in QuickBooks Desktop represents a financial account used to
        track money and transactions. It can be customized with features like
        hierarchical sub-accounts, account numbers, and opening balances.
        Accounts form the foundation of the chart of accounts and can represent
        various types like bank accounts, credit cards, income, expense, and
        other financial categories.
    qbd_tax_line_info:
      type: object
      properties:
        taxLineId:
          type: number
          description: >-
            The identifier of the tax line associated with this account. You can
            see a list of all available values for this field by calling the
            endpoint for account tax lines.
          example: 123
        taxLineName:
          type:
            - string
            - 'null'
          description: >-
            The name of the tax line associated with this account, as it appears
            on the tax form.
          example: State Sales Tax
      required:
        - taxLineId
        - taxLineName
      additionalProperties: false
      title: The Tax Line Info 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).