> ## 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 a build assembly

> Updates an existing build assembly.



## OpenAPI

````yaml POST /quickbooks-desktop/build-assemblies/{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/build-assemblies/{id}:
    post:
      summary: Update a build assembly
      description: Updates an existing build assembly.
      parameters:
        - in: path
          name: id
          description: >-
            The QuickBooks-assigned unique identifier of the build assembly to
            update.
          schema:
            type: string
            description: >-
              The QuickBooks-assigned unique identifier of the build assembly to
              update.
            example: 123ABC-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 build
                    assembly 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'
                inventorySiteId:
                  type: string
                  description: >-
                    The site location where inventory for the item associated
                    with this build assembly is stored.
                  example: 80000001-1234567890
                inventorySiteLocationId:
                  type: string
                  description: >-
                    The specific location (e.g., bin or shelf) within the
                    inventory site where the item associated with this build
                    assembly is stored.
                  example: 80000001-1234567890
                serialNumber:
                  type: string
                  description: >-
                    The serial number of the item associated with this build
                    assembly. This is used for tracking individual units of
                    serialized inventory items.
                  example: SN1234567890
                lotNumber:
                  type: string
                  description: >-
                    The lot number of the item associated with this build
                    assembly. Used for tracking groups of inventory items that
                    are purchased or manufactured together.
                  example: LOT2023-001
                expirationDate:
                  type: string
                  format: date
                  description: >-
                    The expiration date for the serial number or lot number of
                    the item associated with this build assembly, in ISO 8601
                    format (YYYY-MM-DD). This is particularly relevant for
                    perishable or time-sensitive inventory items. Note that this
                    field is only supported on QuickBooks Desktop 2023 or later.
                  example: '2025-12-31'
                transactionDate:
                  type: string
                  format: date
                  description: >-
                    The date of this build assembly, in ISO 8601 format
                    (YYYY-MM-DD).
                  example: '2024-10-01'
                refNumber:
                  type: string
                  description: >-
                    The case-sensitive user-defined reference number for this
                    build assembly, which can be used to identify the
                    transaction in QuickBooks. This value is not required to be
                    unique and can be arbitrarily changed by the QuickBooks
                    user.
                  example: BUILD-1234
                memo:
                  type: string
                  description: A memo or note for this build assembly.
                  example: Assembled 25 units of Model ABC-123 Office Chair
                quantityToBuild:
                  type: number
                  description: >-
                    The number of build assembly to be built. The transaction
                    will fail if the number specified here exceeds the number of
                    on-hand components.
                  example: 7
                markPendingIfRequired:
                  type: boolean
                  description: >-
                    When `true`, the build assembly will be marked pending if
                    there are insufficient quantities to complete the build
                    assembly.
                  example: true
                removePending:
                  type: boolean
                  description: >-
                    When `true`, changes this build assembly's status from
                    pending to non-pending, which effectively performs the build
                    transaction. The operation will fail if there are
                    insufficient component quantities on hand to complete the
                    build.
                  example: true
              required:
                - revisionNumber
              additionalProperties: false
      responses:
        '200':
          description: Returns the updated build assembly.
          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_build_assembly'
      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 buildAssembly = await
            conductor.qbd.buildAssemblies.update('123ABC-1234567890', {
              revisionNumber: '1721172183',
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });


            console.log(buildAssembly.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
            )
            build_assembly = conductor.qbd.build_assemblies.update(
                id="123ABC-1234567890",
                revision_number="1721172183",
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(build_assembly.id)
components:
  schemas:
    qbd_build_assembly:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this build assembly.
            This ID is unique across all transaction types.
          example: 123ABC-1234567890
        objectType:
          type: string
          const: qbd_build_assembly
          description: The type of object. This value is always `"qbd_build_assembly"`.
          example: qbd_build_assembly
        createdAt:
          type: string
          description: >-
            The date and time when this build assembly 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 build assembly 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 build
            assembly 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'
        inventoryAssemblyItem:
          type: object
          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 inventory assembly item associated with this build assembly. An
            inventory assembly item is assembled or manufactured from other
            inventory items, and the items and/or assemblies that make up the
            assembly are called components.
          example:
            id: 80000001-1234567890
            fullName: Inventory Assembly Item
        inventorySite:
          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 site location where inventory for the item associated with this
            build assembly is stored.
          example:
            id: 80000001-1234567890
            fullName: Main Warehouse
        inventorySiteLocation:
          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 specific location (e.g., bin or shelf) within the inventory site
            where the item associated with this build assembly is stored.
          example:
            id: 80000001-1234567890
            fullName: Aisle 3, Shelf B
        serialNumber:
          type:
            - string
            - 'null'
          description: >-
            The serial number of the item associated with this build assembly.
            This is used for tracking individual units of serialized inventory
            items.
          example: SN1234567890
        lotNumber:
          type:
            - string
            - 'null'
          description: >-
            The lot number of the item associated with this build assembly. Used
            for tracking groups of inventory items that are purchased or
            manufactured together.
          example: LOT2023-001
        expirationDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The expiration date for the serial number or lot number of the item
            associated with this build assembly, in ISO 8601 format
            (YYYY-MM-DD). This is particularly relevant for perishable or
            time-sensitive inventory items. Note that this field is only
            supported on QuickBooks Desktop 2023 or later.
          example: '2025-12-31'
        transactionDate:
          type: string
          format: date
          description: The date of this build assembly, in ISO 8601 format (YYYY-MM-DD).
          example: '2024-10-01'
        refNumber:
          type:
            - string
            - 'null'
          description: >-
            The case-sensitive user-defined reference number for this build
            assembly, which can be used to identify the transaction in
            QuickBooks. This value is not required to be unique and can be
            arbitrarily changed by the QuickBooks user.
          example: BUILD-1234
        memo:
          type:
            - string
            - 'null'
          description: A memo or note for this build assembly.
          example: Assembled 25 units of Model ABC-123 Office Chair
        isPending:
          type:
            - boolean
            - 'null'
          description: Indicates whether this build assembly has not been completed.
          example: false
        quantityToBuild:
          type: number
          description: >-
            The number of build assembly to be built. The transaction will fail
            if the number specified here exceeds the number of on-hand
            components.
          example: 7
        quantityCanBuild:
          type: number
          description: >-
            The number of this build assembly that can be built from the parts
            on hand.
          example: 5
        quantityOnHand:
          type: number
          description: The number of units of this build assembly currently in inventory.
          example: 150
        quantityOnSalesOrder:
          type: number
          description: >-
            The number of units of this build assembly that have been sold (as
            recorded in sales orders) but not yet fulfilled or delivered to
            customers.
          example: 10
        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_component_item_line'
          description: The component item lines in this build assembly.
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the build assembly object, added as
            user-defined data extensions, not included in the standard
            QuickBooks object.
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - inventoryAssemblyItem
        - inventorySite
        - inventorySiteLocation
        - serialNumber
        - lotNumber
        - expirationDate
        - transactionDate
        - refNumber
        - memo
        - isPending
        - quantityToBuild
        - quantityCanBuild
        - quantityOnHand
        - quantityOnSalesOrder
        - externalId
        - lines
        - customFields
      additionalProperties: false
      title: The Build Assembly object
      x-conductor-object-type: transaction
      summary: >-
        A build assembly is a collection of items that are assembled to create a
        finished product. It is used to track the components and quantities of a
        product.
    qbd_component_item_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 component item 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
        inventorySite:
          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 site location where inventory for the item associated with this
            component item line is stored.
          example:
            id: 80000001-1234567890
            fullName: Main Warehouse
        inventorySiteLocation:
          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 specific location (e.g., bin or shelf) within the inventory site
            where the item associated with this component item line is stored.
          example:
            id: 80000001-1234567890
            fullName: Aisle 3, Shelf B
        serialNumber:
          type:
            - string
            - 'null'
          description: >-
            The serial number of the item associated with this component item
            line. This is used for tracking individual units of serialized
            inventory items.
          example: SN1234567890
        lotNumber:
          type:
            - string
            - 'null'
          description: >-
            The lot number of the item associated with this component item line.
            Used for tracking groups of inventory items that are purchased or
            manufactured together.
          example: LOT2023-001
        expirationDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The expiration date for the serial number or lot number of the item
            associated with this component item line, in ISO 8601 format
            (YYYY-MM-DD). This is particularly relevant for perishable or
            time-sensitive inventory items. Note that this field is only
            supported on QuickBooks Desktop 2023 or later.
          example: '2025-12-31'
        description:
          type:
            - string
            - 'null'
          description: A description of this component item line.
          example: Wood screws, 2-inch, stainless steel
        quantityOnHand:
          type:
            - number
            - 'null'
          description: >-
            The number of units of this component item line currently in
            inventory.
          example: 150
        quantityNeeded:
          type:
            - number
            - 'null'
          description: >-
            The quantity of this component item line that is needed to build the
            assembly. For example, if the `itemId` references a bolt, the
            `quantityNeeded` field indicates how many of these bolts are used in
            the assembly.
          example: 3
      required:
        - item
        - inventorySite
        - inventorySiteLocation
        - serialNumber
        - lotNumber
        - expirationDate
        - description
        - quantityOnHand
        - quantityNeeded
      additionalProperties: false
      title: The Component Item 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).