Skip to main content
Log inSign up

Shopify uses cookies to provide necessary site functionality and improve your experience. By using our website, you agree to our privacy policy and our cookie policy.

object

Requires read_assigned_fulfillment_orders access scope, read_merchant_managed_fulfillment_orders access scope or read_third_party_fulfillment_orders access scope.

A fulfillment hold currently applied on a fulfillment order.

String!non-null

The localized reason for the fulfillment hold for display purposes.

Boolean!non-null

A boolean value that indicates whether the requesting app created the fulfillment hold.

ID!non-null

A globally-unique ID.

The reason for the fulfillment hold.

Additional information about the fulfillment hold reason.

StringDeprecated

The name of the app or service that applied the fulfillment hold. Use heldByApp.title instead. For more information, see the following changelog post.


Was this section helpful?

mutation

Applies a fulfillment hold on a fulfillment order.

As of the 2025-01 API version, the mutation can be successfully executed on fulfillment orders that are already on hold. To place multiple holds on a fulfillment order, apps need to supply the handle field. Each app can place up to 10 active holds per fulfillment order. If an app attempts to place more than this, the mutation will return a user error indicating that the limit has been reached. The app would need to release one of its existing holds before being able to apply a new one.


Was this section helpful?

interface

Was this section helpful?