2024-10 release notes (Release candidate)
Release date | Date version is no longer supported |
---|---|
October 1, 2024 | October 1, 2025 |
Breaking changes
Anchor link to section titled "Breaking changes"These changes require special attention. If your app uses these API resources, and you don’t adjust your usage of the resources according to the following instructions, then your app might break when you update to this API version.
Changed enum value for OrderDisplayFulfillmentStatus
Anchor link to section titled "Changed enum value for OrderDisplayFulfillmentStatus"The OrderDisplayFulfillmentStatus
enum now returns a REQUEST_DECLINED
value for an order that has had its fulfillment request rejected by a third-party fulfillment service. In API versions prior to 2024-10, orders in this state return an UNFULFILLED
status.
Fulfillment holds
Anchor link to section titled "Fulfillment holds"We've deprecated the GREATER_THAN_ZERO
and INVALID_LINE_ITEM_QUANTITY
error codes on the fulfillmentOrderReleaseHold
mutation.
We've also added the heldByRequestingApp
field to the FulfillmentHold
object. As of API version 2024-10, you'll only be able to read the heldBy
field on the FulfillmentHold
object if you have the read_apps
scope enabled on your app. Use the heldByRequestingApp
field instead if you need to confirm whether your app created the fulfillment hold.
Additionally, the fulfillmentOrderHold
mutation now returns the fulfillment hold that was created in a new fulfillmentHold
return field.
Product duplications
Anchor link to section titled "Product duplications"The productDuplicateAsyncV2
mutation has been removed. We've added the synchronous
argument to the productDuplicate
mutation, allowing you to choose whether the product duplication should be processed synchronously or asynchronously.
- Asynchronous duplication: By setting the
synchronous
field tofalse
in theproductDuplicate
mutation, the operation operates asynchronously, and returns aProductDuplicateOperation
object. - Operation tracking: You can track the status of the asynchronous duplication by querying the operation ID through the
productOperation
query.
ProductImage value removed
Anchor link to section titled "ProductImage value removed"The PRODUCTIMAGE
value has been removed from the MetafieldOwnerType
enum. Use MEDIA_IMAGE
instead.
Setting available inventory quantity
Anchor link to section titled "Setting available inventory quantity"We've deprecated the ability to set the available quantity on the inventoryActivate
mutation for inventory items that are already in an active state. Use the inventorySetQuantities
mutation instead.
GraphQL Admin API changes
Anchor link to section titled "GraphQL Admin API changes"The following changes are introduced in the 2024-10 version of the GraphQL Admin API.
Changed enum value for OrderDisplayFulfillmentStatus
The OrderDisplayFulfillmentStatus
enum now returns a REQUEST_DECLINED
value for an order that has had its fulfillment request rejected by a third-party fulfillment service. In API versions prior to 2024-10, orders in this state return an UNFULFILLED
status.
Delivery options
The presentedName
field has been added to the DeliveryMethod
object. The presentedName
field represents the name of the delivery option that was presented to the customer during checkout.
Fulfillment holds
We've deprecated the GREATER_THAN_ZERO
and INVALID_LINE_ITEM_QUANTITY
error codes on the fulfillmentOrderReleaseHold
mutation.
We've also added the heldByRequestingApp
field to the FulfillmentHold
object. As of API version 2024-10, you'll only be able to read the heldBy
field on the FulfillmentHold
object if you have the read_apps
scope enabled on your app. Use the heldByRequestingApp
field instead if you need to confirm whether your app created the fulfillment hold.
Additionally, the fulfillmentOrderHold
mutation now returns the fulfillment hold that was created in a new fulfillmentHold
return field.
Linked metafield value error code
We've added the LINKED_METAFIELD_VALUE_WITHOUT_LINKED_OPTION
error code to the ProductOptionsCreateUserError
enum. This error code is returned when the linkedMetafieldValue
can't be specified for an option that isn't linked to a metafield.
Metafield-linked product options
In the 2024-04 API version release, we introduced the ability to use the productOptionsCreate
, productCreate
, and productOptionUpdate
mutations to create metafield-linked product options.
As of API version 2024-10, we've added more fields and error codes to support linking metafields to product options.
Available types
Name | Type | Change |
---|---|---|
linkedMetafield |
Field | Added to OptionSetInput input object |
linkedMetafieldValue |
Field | Added to VariantOptionValueInput input object |
CANNOT_COMBINE_LINKED_AND_NONLINKED_OPTION_VALUES |
Error code | Added to ProductSetUserErrorCode enum |
INVALID_METAFIELD_VALUE_FOR_LINKED_OPTION |
Error code | Added to ProductSetUserErrorCode enum |
DUPLICATE_LINKED_OPTION |
Error code | Added to ProductSetUserErrorCode enum |
LINKED_OPTIONS_NOT_SUPPORTED_FOR_SHOP |
Error code | Added to ProductSetUserErrorCode enum |
LINKED_METAFIELD_DEFINITION_NOT_FOUND |
Error code | Added to ProductSetUserErrorCode enum |
Metafields support for the cartTransformCreate mutation
We've added the metafields
argument to the cartTransformCreate
mutation. You can use the argument to set metafields for a CartTransform
object at creation without needing to call the metafieldsSet
mutation in a subsequent call.
ProductImage value removed
The PRODUCTIMAGE
value has been removed from the MetafieldOwnerType
enum. Use MEDIA_IMAGE
instead.
Product deletions
We've added the synchronous
argument to the productDelete
mutation. The field allows you to choose whether a product should be deleted synchronously or asynchronously.
- Asynchronous deletion: By setting the
synchronous
field tofalse
in theproductDelete
mutation, the operation proceeds asynchronously, and returns aProductDeleteOperation
object. - Operation tracking: You can track the status of the asynchronous deletion by querying the operation ID through the
productOperation
query.
Product duplications
The productDuplicateAsyncV2
mutation has been removed. We've added the synchronous
argument to the productDuplicate
mutation, allowing you to choose whether the product duplication should be processed synchronously or asynchronously.
- Asynchronous duplication: By setting the
synchronous
field tofalse
in theproductDuplicate
mutation, the operation operates asynchronously, and returns aProductDuplicateOperation
object. - Operation tracking: You can track the status of the asynchronous duplication by querying the operation ID through the
productOperation
query.
Product restrictions
We've added the restrictedForResource
field to the Product
object. The field allows you to query product restrictions for a given CalculatedOrder
object, and returns both the restricted status and the reason for the restriction.
Products webhook topics
The PRODUCTS_CREATE
and PRODUCTS_UPDATE
webhook payloads now contain the has_variants_that_requires_components
field, which indicates whether a product has a variant that is a product bundle.
The has_variants_that_requires_components
field mirrors the hasVariantsThatRequiresComponents
field on the Product
object.
Setting available inventory quantity
We've deprecated the ability to set the available quantity on the inventoryActivate
mutation for inventory items that are already in an active state. Use the inventorySetQuantities
mutation instead.
REST Admin API changes
Anchor link to section titled "REST Admin API changes"The following changes are introduced in the 2024-07 version of the REST Admin API.
Delivery options
The presented_name
property has been added to the FulfillmentOrder
resource. The presented_name
property represents the name of the delivery option that was presented to the customer during checkout.
Products webhook topics
The products/create
and products/update
webhook payloads now contain the has_variants_that_requires_components
field, which indicates whether a product has a variant that is a product bundle.
Shopify Function APIs changes
Anchor link to section titled "Shopify Function APIs changes"The following changes are introduced in the 2024-10 version of Shopify Function APIs.
Metafields support for the cartTransformCreate mutation
We've added the metafields
argument to the cartTransformCreate
mutation. You can use the argument to set metafields for a CartTransform
object at creation without needing to call the metafieldsSet
mutation in a subsequent call.