---
title: "Update a class"
method: POST
path: "/quickbooks-desktop/classes/{id}"
---

# Update a class

`POST /quickbooks-desktop/classes/{id}`

Updates an existing class.

## Path parameters

- `id` string, required — The QuickBooks-assigned unique identifier of the class to update.

## Headers

- `Conductor-End-User-Id` string, required — The ID of the End-User to receive this request.

## Request body

- object
  - `revisionNumber` string, required — The current QuickBooks-assigned revision number of the class object you are updating, which you can get by fetching the object first. Provide the most recent `revisionNumber` to ensure you're working with the latest data; otherwise, the update will return an error.
  - `name` string — 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.
  - `isActive` boolean — Indicates whether this class is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.
  - `parentId` string — 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`.

## Response `200`

Returns the updated class.

- QbdClass
  - `id` string, required — The unique identifier assigned by QuickBooks to this class. This ID is unique across all classes but not across different QuickBooks object types.
  - `objectType` 'qbd_class', required — The type of object. This value is always `"qbd_class"`.
  - `createdAt` string, required — 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.
  - `updatedAt` string, required — 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.
  - `revisionNumber` string, required — 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.
  - `name` string, required — 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".
  - `fullName` string, required — 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.
  - `isActive` boolean, required — Indicates whether this class is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.
  - `parent` object, nullable, required — 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`.
    - `id` string, nullable, required — 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.
    - `fullName` string, nullable, required — 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.
  - `sublevel` number, required — 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.

## Changes

- **2026-05-02** `1de07095c4b7` — 2 warning
  - for the `path` request parameter `id`, the maxLength was set to `36`
  - the `parentId` request property's maxLength was set to `36`
- **2026-04-20** `10d4e9ebd1df` — 3 breaking, 1 info
  - the `parent` response's property type/format changed from `object, null`/`` to ``/`` for status `200`
  - removed the required property `parent/fullName` from the response with the `200` status
  - removed the required property `parent/id` from the response with the `200` status
  - added `subschema #1, subschema #2` to the `parent` response property `anyOf` list for the response status `200`
- **2026-04-20** `8e0b7df2044d` — 2 breaking, 3 info
  - the response property `parent` became nullable for the status `200`
  - the `parent` response's property type/format changed from ``/`` to `object, null`/`` for status `200`
  - removed `subschema #1, subschema #2` from the `parent` response property `anyOf` list for the response status `200`
  - added the required property `parent/fullName` to the response with the `200` status
  - …1 more
- …earlier changes not shown

[Full history](https://skmtc.dev/conductor-is/apis/conductor-api/changes/quickbooks-desktop/classes/:id/post.md)

---

[API](https://skmtc.dev/conductor-is/apis/conductor-api.md) · [All operations](https://skmtc.dev/conductor-is/apis/conductor-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/conductor-is/conductor-api/revisions/0b07b3ebe160/schema)
