--- title: >- Adding barcode support to inventory shipments API - Shopify developer changelog description: >- Shopify’s developer changelog documents all changes to Shopify’s platform. Find the latest news and learn about new platform opportunities. source_url: html: >- https://shopify.dev/changelog/adding-barcode-support-to-inventory-shipments-api md: >- https://shopify.dev/changelog/adding-barcode-support-to-inventory-shipments-api.md metadata: effectiveApiVersion: 2026-04 affectedApi: - displayName: Admin GraphQL API handle: admin-graphql primaryTag: displayName: API handle: api secondaryTag: displayName: New handle: new indicatesActionRequired: false createdAt: '2026-03-12T11:44:13-04:00' postedAt: '2026-03-23T12:00:00-04:00' updatedAt: '2026-03-13T11:06:06-04:00' effectiveAt: '2026-03-23T12:00:00-04:00' --- March 23, 2026 Tags: * Admin GraphQL API * 2026-04 # Adding barcode support to inventory shipments API We're adding barcode support to inventory shipments in version `2026-04`, enabling merchants to assign barcodes to shipments for faster receiving workflows. The following API changes are included: **New field on [`InventoryShipment`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryShipment)** * `barcode: String` - A nullable field representing the unique barcode assigned to a shipment. **Updated [`inventoryShipmentCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/inventoryShipmentCreate) mutation** * The [`InventoryShipmentCreateInput`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/InventoryShipmentCreateInput) now accepts an optional `barcode: String` field to assign a barcode when creating a shipment. **New [`inventoryShipmentSetBarcode`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/inventoryShipmentSetBarcode) mutation** * Sets or clears the barcode on an existing shipment. Pass an empty string to clear the barcode. Example usage: ```graphql mutation { inventoryShipmentSetBarcode( inventoryShipmentId: "gid://shopify/InventoryShipment/123" barcode: "SHIP-2026-0001" ) { inventoryShipment { id barcode } userErrors { code field message } } } ``` **What you need to know** * Barcodes must be unique per shop. Two shipments in the same shop cannot share the same barcode. * Barcodes have a maximum length of `255` characters. * Leading/trailing whitespace is automatically stripped. Barcodes consisting only of whitespace are treated as empty. **Error codes** * `DUPLICATE_BARCODE`: Another shipment in the same shop already has this barcode. * `SHIPMENT_NOT_FOUND`: The specified shipment does not exist. * `BARCODE_TOO_LONG`: The barcode exceeds the maximum length of `255` characters. **Why we made this change** Merchants transferring inventory between locations, for example, from a warehouse to a retail store, currently have to scan and receive each item in a shipment one by one. This is slow and error-prone for large shipments. Shipment barcodes let warehouse systems and 3PLs attach a scannable identifier (such as a GS1-128 code) to a shipment so that the entire shipment can be identified and received in a single scan.