Update a Bill of Materials

HTTP Request

PUT /v1/bill-of-materials/{ID}

Summary

This PUT operation updates a bill of materials by replacing all the existing information with the new information you send. You must send all data, even data that is not changing.

Request URLs

Sandbox: https://shipping-api-sandbox.pitneybowes.com/shippingservices/fulfillment/v1/bill-of-materials/{ID}
Production: https://shipping-api.pitneybowes.com/shippingservices/fulfillment/v1/bill-of-materials/{ID}

Path Parameter

Name

Description

ID


Required. The BOM ID assigned by Pitney Bowes, as returned in the billOfMaterialId field when the BOM was created.

Request Headers

Name


Description

Authorization

Required. OAuth token generated using the Generate an OAuth Token API.

X-PB-TransactionId

Required. A unique identifier for the request, up to 25 characters. The following characters are allowed: letters, numbers, hyphens (-), and underscores (_).

Important: Ensure this is a unique ID.

Request Elements

Important

You must pass the whole BOM object again to make the update. You cannot pass a partial object.

Name

Data Type

Description

clientId

String

The client ID assigned by Pitney Bowes.

brand

String

The manufacturer’s brand name for the item.

Maximum length: 30 characters

description

String

Description of the bill of materials.

Maximum length: 30 characters

node

String

The ID for the Pitney Bowes Fulfillment Center where the kitting takes place.

active

Boolean

If true, the product is active.

Default: true

createDate

String

The date and time the bill of materials was created in the client system, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

updateDate

String

The date and time the bill of materials was updated in the client system, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

sku

String

The SKU for the produced kit. The kit must be part of the master catalog.

Maximum length: 30 characters

billOfMaterialDetails

Array[BOM Details Object]

The bill of materials. Each object in the array is a different bill of materials.

notes

Array[String]

Notes associated with the bill of materials.

Maximum length: 50 characters

instructions

Array[Object]

Reserved for future use.

instructions.instruction

String

Reserved for future use.

instructions.active

Boolean

Reserved for future use.

instructions.image

Image Object

Reserved for future use.

Response Elements

Name

Data Type

Description

clientId

String

The client ID assigned by Pitney Bowes.

brand

String

The manufacturer’s brand name for the item, up to 30 characters.

description

String

Description of the bill of materials, up to 30 characters.

node

String

The ID for the Pitney Bowes Fulfillment Center where the kitting takes place.

active

Boolean

If true, the product is active.

createDate

String

The date and time the bill of materials was created in the client system, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

updateDate

String

The date and time the bill of materials was updated in the client system, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

pbCreateDate

String

The date and time the bill of materials was created in the Pitney Bowes system, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

pbUpdateDate

String

The date and time the bill of materials was updated in the Pitney Bowes system, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

billofMaterialId

String

The ID assigned to the bill of materials by Pitney Bowes.

sku

String

The SKU for the produced kit. The kit must be part of the master catalog, up to 30 characters.

billOfMaterialDetails

Array[BOM Details Object]

The bill of materials. Each object in the array is a different bill of materials.

notes

Array[String]

Notes associated with the bill of materials, up to 50 characters.

instructions

Array[Object]

Reserved for future use.

BOM Details Object

Name

Data Type

Description

childSku

String

Required. The SKU of the child product from the master catalog.

Maximum length: 30 characters

quantity

Number

Required. The quantity of the child product.

sequence

Array[String]

Reserved for future use.

instructions

Array[Object]

Reserved for future use.

instructions.instruction

String

Reserved for future use.

instructions.active

Boolean

Reserved for future use.

instructions.image

Image Object

Reserved for future use.

BOM Image Object

Name

Data Type

Description

imageURL

String

The URL that links to an image of the product.

Maximum length: 300 characters

imageContent

String

The image, entered as a Base64-encoded string.

fileName

String

The filename of image.

Maximum length: 255 characters

fileFormat

String

The file format for the image. Possible values:

  • PDF

  • JPEG

  • GIF

  • PNG

Sample Request

curl -X PUT ".../v1/bill-of-materials/BM123456781234567812345678US" \
-H "Authorization: Bearer <oauth_token>" \
-H "X-PB-TransactionId: <unique_identifier>" \
-d '
{
    "clientId": "1234",
    "description": "April Welcome Kit",
    "node": "160",
    "active": true,
    "createDate": "2022-04-05T14:35:55-07:00",
    "pbCreateDate": "2022-04-05T14:35:55-07:00",
    "billOfMaterialId": "BM123456781234567812345678US",
    "sku": "12345678",
    "billOfMaterialDetails": [ {
        "childSku": "12345abcd",
        "quantity": 4,
    },
    ...
    ]
}'

Sample Response

{
    "clientId": "1234",
    "description": "April Welcome Kit",
    "node": "160",
    "active": true,
    "createDate": "2022-04-05T14:35:55-07:00",
    "updateDate": "2022-04-06T14:35:55-7:00",
    "pbCreateDate": "2022-04-05T14:35:55-07:00",
    "pbUpdateDate": "2022-04-06T14:35:55-7:00",
    "billOfMaterialId": "BM123456781234567812345678US",
    "sku": "12345678",
    "billOfMaterialDetails": [ {
        "childSku": "12345abcd",
        "quantity": 4,
    },
    ...
    ]
}

Error Codes

For lists of error codes returned by the Fulfillment APIs, please see 80-Prefix Error Codes (Fulfillment APIs).