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

# Create a class

> Creates a new class.



## OpenAPI

````yaml POST /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:
    post:
      summary: Create a class
      description: Creates a new class.
      parameters:
        - 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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  maxLength: 31
                  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".


                    Maximum length: 31 characters.
                  example: 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
                  default: true
                parentId:
                  type: string
                  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: 80000001-1234567890
              required:
                - name
              additionalProperties: false
      responses:
        '200':
          description: Returns the newly created class.
          headers:
            Conductor-Request-Id:
              schema:
                type: string
                description: The unique identifier for this API request.
                example: req_1234567abcdefg
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/qbd_class'
      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 _class = await conductor.qbd.classes.create({
              name: 'Marketing',
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });

            console.log(_class.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
            )
            class_ = conductor.qbd.classes.create(
                name="Marketing",
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(class_.id)
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).