Developer changelog

Subscribe to the changelog to stay up to date on recent changes to Shopify’s APIs and other developer products, as well as preview upcoming features and beta releases.

Get updates by RSS

Product Variant Field Cleanup

API

Action required

As of GraphQL Admin API version 2024-07, various fields on Product Variants that are duplicates of the linked Inventory Item will be removed from the Product Variant model, input types, and webhooks, as well as restrictions to

GraphQL Fields

In general the fields removed (and their replacement) are:

  • fulfillmentService: The fulfillment service is now defined by where the item is stocked, and the fulfillment services that own those locations.
  • harmonizedSystemCode: This is replaced by the harmonizedSystemCode field of the inventory item.
  • inventoryManagement: This is replaced by the tracked field from the inventory item. Inventory management information is more clearly defined with both the tracked and fulfillmentService fields on the inventory item.
  • requiresShipping: This is replaced by the requiresShipping field of the inventory item.
  • sku: This field will continue to be returned on the Product Variant model, but is not directly editable. Rather the field will just proxy the sku field from the inventory item.
  • weight and weightUnit: These fields are replaced by the weight type in InventoryItem.measurement.weight.

More specifically, these fields are kept or removed:

  • From ProductVariantInput: fulfillmentServiceId, harmonizedSystemCode, inventoryManagement, requiresShipping, sku, weight, and weightUnit are all removed.
  • From ProductVariantsBulkInput: fulfillmentServiceId, harmonizedSystemCode, requiresShipping, sku, weight, and weightUnit are all removed.
  • From ProductVariantSetInput: harmonizedSystemCode, requiresShipping, weight, and weightUnit are all removed. sku is kept.
  • From ProductVariant return type: fulfillmentService, harmonizedSystemCode, inventoryManagement, requiresShipping, weight, and weightUnit are all removed. sku is kept.

Metafields

As part of this work, you'll no longer be able to set the harmonized_system_code metafield under the global namespace for Product Variants. This was an alternative way of updating the harmonized_system_code of a variant, but since variants are no longer going to have the harmonized_system_code field, the metafield is being removed.

Webhooks

The Product Variant webhooks are also seeing some fields removed, namely:

  • fulfillment_service
  • inventory_management
  • grams
  • weight
  • weight_unit
  • requires_shipping