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

# Update an item group

> Updates an existing item group.



## OpenAPI

````yaml POST /quickbooks-desktop/item-groups/{id}
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/item-groups/{id}:
    post:
      summary: Update an item group
      description: Updates an existing item group.
      parameters:
        - in: path
          name: id
          description: >-
            The QuickBooks-assigned unique identifier of the item group to
            update.
          schema:
            type: string
            description: >-
              The QuickBooks-assigned unique identifier of the item group to
              update.
            example: 80000001-1234567890
          required: true
        - 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:
                revisionNumber:
                  type: string
                  description: >-
                    The current QuickBooks-assigned revision number of the item
                    group 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.
                  example: '1721172183'
                name:
                  type: string
                  maxLength: 31
                  description: >-
                    The case-insensitive unique name of this item group, unique
                    across all item groups.


                    **NOTE**: Item groups 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.


                    Maximum length: 31 characters.
                  example: Office Supplies Bundle
                barcode:
                  type: object
                  properties:
                    value:
                      type: string
                      description: The item's barcode value.
                      example: '012345678905'
                    assignEvenIfUsed:
                      type: boolean
                      description: >-
                        Indicates whether to assign the barcode even if it is
                        already used.
                      example: false
                      default: false
                    allowOverride:
                      type: boolean
                      description: Indicates whether to allow the barcode to be overridden.
                      example: false
                      default: false
                  additionalProperties: false
                  description: The item group's barcode.
                isActive:
                  type: boolean
                  description: >-
                    Indicates whether this item group is active. Inactive
                    objects are typically hidden from views and reports in
                    QuickBooks. Defaults to `true`.
                  example: true
                description:
                  type: string
                  description: >-
                    The item group's description that will appear on sales forms
                    that include this item.
                  example: >-
                    Complete office starter kit with essential supplies for new
                    employees.
                unitOfMeasureSetId:
                  type: string
                  description: >-
                    The unit-of-measure set associated with this item group,
                    which consists of a base unit and related units.
                  example: 80000001-1234567890
                forceUnitOfMeasureChange:
                  type: boolean
                  description: >-
                    Indicates whether to allow changing the item group's
                    unit-of-measure set (using the `unitOfMeasureSetId` field)
                    when the base unit of the new unit-of-measure set does not
                    match that of the currently assigned set. Without setting
                    this field to `true` in this scenario, the request will fail
                    with an error; hence, this field is equivalent to accepting
                    the warning prompt in the QuickBooks UI.


                    NOTE: Changing the base unit requires you to update the
                    item's quantities-on-hand and cost to reflect the new unit;
                    otherwise, these values will be inaccurate. Alternatively,
                    consider creating a new item with the desired
                    unit-of-measure set and deactivating the old item.
                  example: false
                shouldPrintItemsInGroup:
                  type: boolean
                  description: >-
                    Indicates whether the individual items in this item group
                    and their separate amounts appear on printed forms.
                  example: true
                clearItemLines:
                  type: boolean
                  description: >-
                    When `true`, removes all existing item lines associated with
                    this item group. To modify or add individual item lines, use
                    the field `itemLines` instead.
                  example: false
                lines:
                  type: array
                  items:
                    type: object
                    properties:
                      itemId:
                        type: string
                        description: >-
                          The item associated with this item group line. This
                          can refer to any good or service that the business
                          buys or sells, including item types such as a service
                          item, inventory item, or special calculation item like
                          a discount item or sales-tax item.
                        example: 80000001-1234567890
                      quantity:
                        type: number
                        description: >-
                          The quantity of the item group associated with this
                          item group line. This field cannot be cleared.


                          **NOTE**: Do not use this field if the associated item
                          group is a discount item group.
                        example: 5
                      unitOfMeasure:
                        type: string
                        description: >-
                          The unit-of-measure used for the `quantity` in this
                          item group line. Must be a valid unit within the
                          item's available units of measure.
                        example: Each
                    additionalProperties: false
                  minItems: 1
                  description: The item lines in this item group.
              required:
                - revisionNumber
              additionalProperties: false
      responses:
        '200':
          description: Returns the updated item group.
          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_item_group'
      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 itemGroup = await
            conductor.qbd.itemGroups.update('80000001-1234567890', {
              revisionNumber: '1721172183',
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });


            console.log(itemGroup.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
            )
            item_group = conductor.qbd.item_groups.update(
                id="80000001-1234567890",
                revision_number="1721172183",
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(item_group.id)
components:
  schemas:
    qbd_item_group:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this item group.
            This ID is unique across all item groups but not across different
            QuickBooks object types.
          example: 80000001-1234567890
        objectType:
          type: string
          const: qbd_item_group
          description: The type of object. This value is always `"qbd_item_group"`.
          example: qbd_item_group
        createdAt:
          type: string
          description: >-
            The date and time when this item group 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 item group 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 item group
            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 unique name of this item group, unique across
            all item groups.


            **NOTE**: Item groups 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: Office Supplies Bundle
        barcode:
          type:
            - string
            - 'null'
          description: The item group's barcode.
          example: '012345678905'
        isActive:
          type: boolean
          description: >-
            Indicates whether this item group is active. Inactive objects are
            typically hidden from views and reports in QuickBooks. Defaults to
            `true`.
          example: true
        description:
          type:
            - string
            - 'null'
          description: >-
            The item group's description that will appear on sales forms that
            include this item.
          example: >-
            Complete office starter kit with essential supplies for new
            employees.
        unitOfMeasureSet:
          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 unit-of-measure set associated with this item group, which
            consists of a base unit and related units.
          example:
            id: 80000001-1234567890
            fullName: Weight Units
        shouldPrintItemsInGroup:
          type: boolean
          description: >-
            Indicates whether the individual items in this item group and their
            separate amounts appear on printed forms.
          example: true
        specialItemType:
          type:
            - string
            - 'null'
          enum:
            - finance_charge
            - reimbursable_expense_group
            - reimbursable_expense_subtotal
            - null
          description: The type of special item for this item group.
          example: finance_charge
        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
        lines:
          type: array
          items:
            $ref: '#/components/schemas/qbd_item_group_line'
          description: The item lines in this item group.
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the item group object, added as user-defined
            data extensions, not included in the standard QuickBooks object.
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - name
        - barcode
        - isActive
        - description
        - unitOfMeasureSet
        - shouldPrintItemsInGroup
        - specialItemType
        - externalId
        - lines
        - customFields
      additionalProperties: false
      title: The Item Group object
      x-conductor-object-type: item
      summary: >-
        An item group represents a predefined set of items bundled together
        because they are commonly purchased together or grouped for faster entry
        in QuickBooks Desktop, while allowing you to see individual items on
        forms and reports.
    qbd_item_group_line:
      type: object
      properties:
        item:
          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 item associated with this item group line. This can refer to any
            good or service that the business buys or sells, including item
            types such as a service item, inventory item, or special calculation
            item like a discount item or sales-tax item.
          example:
            id: 80000001-1234567890
            fullName: Widget A
        quantity:
          type:
            - number
            - 'null'
          description: >-
            The quantity of the item group associated with this item group line.
            This field cannot be cleared.


            **NOTE**: Do not use this field if the associated item group is a
            discount item group.
          example: 5
        unitOfMeasure:
          type:
            - string
            - 'null'
          description: >-
            The unit-of-measure used for the `quantity` in this item group line.
            Must be a valid unit within the item's available units of measure.
          example: Each
      required:
        - item
        - quantity
        - unitOfMeasure
      additionalProperties: false
      title: The Item Group Line 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).