---
title: FulfillmentOrderHoldInput - GraphQL Admin
description: The input fields for the fulfillment hold applied on the fulfillment order.
api_version: 2026-10
source_url:
  html: >-
    https://shopify.dev/docs/api/admin-graphql/latest/input-objects/FulfillmentOrderHoldInput
  md: >-
    https://shopify.dev/docs/api/admin-graphql/latest/input-objects/FulfillmentOrderHoldInput.md
api_name: admin
api_type: graphql
type: input-object
---

# Fulfillment​Order​Hold​Input

input\_object

The input fields for the fulfillment hold applied on the fulfillment order.

## Fields

* external​Id

  [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

  A configurable ID used to track the automation system releasing these holds.

* fulfillment​Order​Line​Items

  [\[Fulfillment​Order​Line​Item​Input!\]](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/FulfillmentOrderLineItemInput)

  Default:\[]

  The fulfillment order line items to be placed on hold.

  If left blank, all line items of the fulfillment order are placed on hold.

  Not supported when placing a hold on a fulfillment order that is already held. If supplied when a fulfillment order is already on hold, [a user error](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderHoldUserErrorCode#value-fulfillmentordernotsplittable) will be returned indicating that the fulfillment order is not able to be split.

* handle

  [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

  Default:""

  An identifier that an app can use to reference one of the holds that it applies to a fulfillment order.

  This field must be unique among the holds that a single app applies to a single fulfillment order. It prevents apps from inadvertently creating duplicate holds. This field cannot exceed 64 characters.

  For example, an app can place multiple holds on a single fulfillment order each with a different `handle`. If an app attempts to place two holds with the same `handle`, the second hold will be rejected with [a duplicate hold user error](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderHoldUserErrorCode#value-duplicatefulfillmentholdhandle). The same `handle` can however be re-used on different fulfillment orders and by different apps.

  By default, `handle` will be an empty string. If an app wishes to place multiple holds on a single fulfillment order, then a different `handle` must be provided for each.

* notify​Merchant

  [Boolean](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Boolean)

  Default:false

  Whether the merchant receives a notification about the fulfillment hold. The default value is `false`.

* reason

  [Fulfillment​Hold​Reason!](https://shopify.dev/docs/api/admin-graphql/latest/enums/FulfillmentHoldReason)

  non-null

  The reason for the fulfillment hold.

* reason​Notes

  [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

  Additional information about the fulfillment hold reason.

***

## Mutations using this input

* [fulfillment​Order​Hold.fulfillmentHold](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentOrderHold#arguments-fulfillmentHold)

  ARGUMENT

***

## Map

### Mutations using this input

* [fulfillment​Order​Hold.fulfillmentHold](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentOrderHold#arguments-fulfillmentHold)
