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

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



## OpenAPI

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


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


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


            **IMPORTANT**: QuickBooks Desktop does not support cursor-based
            pagination for classes. 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 classes
            without limit, unlike paginated endpoints which default to 150
            records. This is acceptable because classes 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 classes. 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 classes
              without limit, unlike paginated endpoints which default to 150
              records. This is acceptable because classes typically have low
              record counts.
            example: 10
        - in: query
          name: status
          description: Filter for classes that are active, inactive, or both.
          schema:
            type: string
            enum:
              - active
              - all
              - inactive
            default: active
            description: Filter for classes that are active, inactive, or both.
            example: active
        - in: query
          name: updatedAfter
          description: >-
            Filter for classes 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 classes 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 classes 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 classes 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 classes 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 classes 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 classes 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 classes 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 classes 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 classes 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 classes whose `name` is alphabetically greater than or
            equal to this value.
          schema:
            type: string
            description: >-
              Filter for classes whose `name` is alphabetically greater than or
              equal to this value.
            example: A
        - in: query
          name: nameTo
          description: >-
            Filter for classes whose `name` is alphabetically less than or equal
            to this value.
          schema:
            type: string
            description: >-
              Filter for classes whose `name` is alphabetically less than or
              equal to this value.
            example: Z
        - 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 classes.
          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/classes
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/qbd_class'
                    description: The array of classes.
                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 classes = await conductor.qbd.classes.list({
            conductorEndUserId: 'end_usr_1234567abcdefg' });


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


            **NOTE**: Unlike `name`, `fullName` is guaranteed to be unique
            across all class objects. However, `fullName` can still be
            arbitrarily changed by the QuickBooks user when they modify the
            underlying `name` field.
          example: Department:Marketing
        isActive:
          type: boolean
          description: >-
            Indicates whether this class 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 class one level above this one in the hierarchy. For
            example, if this class has a `fullName` of "Department:Marketing",
            its parent has a `fullName` of "Department". If this class is at the
            top level, this field will be `null`.
          example:
            id: 80000001-1234567890
            fullName: Department
        sublevel:
          type: number
          description: >-
            The depth level of this class in the hierarchy. A top-level class
            has a `sublevel` of 0; each subsequent sublevel increases this
            number by 1. For example, a class with a `fullName` of
            "Department:Marketing" would have a `sublevel` of 1.
          example: 1
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - name
        - fullName
        - isActive
        - parent
        - sublevel
      additionalProperties: false
      title: The Class object
      x-conductor-object-type: other
      summary: >-
        A class is a category used to group QuickBooks objects into meaningful
        categories. For example, classes can be used to classify transactions by
        department, location, or type of work.
  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).