Skip to main content
object

Requires read_orders access scope, read_marketplace_orders access scope, read_assigned_fulfillment_orders access scope, read_merchant_managed_fulfillment_orders access scope, read_third_party_fulfillment_orders access scope or read_marketplace_fulfillment_orders access scope.

A shipment of one or more items from an Order. Tracks which LineItem objects ship, their quantities, and the shipment's tracking information.

Includes tracking details such as the carrier, tracking numbers, and URLs. The fulfillment connects to both the original order and any associated FulfillmentOrder objects. FulfillmentEvent objects record milestones throughout the shipment lifecycle, from creation through delivery.

Multiple fulfillments can exist for a single order when items either ship separately or from different locations.

•DateTime!
non-null

The date and time when the fulfillment was created.

•DateTime

The date that this fulfillment was delivered.

•FulfillmentDisplayStatus

Human readable display status for this fulfillment.

•DateTime

The estimated date that this fulfillment will arrive.

•FulfillmentEventConnection!
non-null

The history of events associated with this fulfillment.

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•FulfillmentEventSortKeys
Default:HAPPENED_AT

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


Anchor to fulfillmentLineItemsfulfillmentLineItems
•FulfillmentLineItemConnection!
non-null

List of the fulfillment's line items.

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.


•FulfillmentOrderConnection!
non-null

A paginated list of fulfillment orders for the fulfillment.

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.


•ID!
non-null

A globally-unique ID.

•DateTime

The date and time when the fulfillment went into transit.

•UnsignedInt64!
non-null

The ID of the corresponding resource in the REST Admin API.

•Location

The location that the fulfillment was processed at.

•String!
non-null

Human readable reference identifier for this fulfillment.

•Order!
non-null

The order for which the fulfillment was created.

•FulfillmentOriginAddress

The address at which the fulfillment occurred. This field is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. Typically this is the address of the warehouse or fulfillment center. To retrieve a fulfillment location's address, use the assignedLocation field on the FulfillmentOrder object instead.

•Boolean!
non-null

Whether any of the line items in the fulfillment require shipping.

•FulfillmentService

Fulfillment service associated with the fulfillment.

•FulfillmentStatus!
non-null

The status of the fulfillment.

•Int!
non-null

Sum of all line item quantities for the fulfillment.

•[FulfillmentTrackingInfo!]!
non-null

Tracking information associated with the fulfillment, such as the tracking company, tracking number, and tracking URL.

Arguments

•Int

Truncate the array result to this size.


•DateTime!
non-null

The date and time when the fulfillment was last modified.


Was this section helpful?

•query

Retrieves a Fulfillment by its ID. A fulfillment is a record that the merchant has completed their work required for one or more line items in an Order. It includes tracking information, LineItem objects, and the status of the fulfillment.

Use this query to track the progress of shipped items, view tracking details, or check fulfillment events for example when a package is out for delivery or delivered.

Arguments

•ID!
required

The ID of the Fulfillment to return.



Was this section helpful?

•mutation

Cancels an existing Fulfillment and reverses its effects on associated FulfillmentOrder objects. When you cancel a fulfillment, the system creates new fulfillment orders for the cancelled items so they can be fulfilled again.

The cancellation affects fulfillment orders differently based on their fulfillment status. If a fulfillment order was entirely fulfilled, then it automatically closes. If a fulfillment order is partially fulfilled, then the remaining quantities adjust to include the cancelled items. The system creates new fulfillment orders at the original Location when items are still stocked there, or at alternative locations based on the store's fulfillment priority settings.

Learn more about canceling fulfillments.

Arguments

•ID!
required

The ID of the fulfillment to be canceled.


•mutation

Creates a fulfillment for one or more FulfillmentOrder objects. The fulfillment orders are associated with the same Order and are assigned to the same Location.

Use this mutation to mark items as fulfilled when they're ready to ship. You can specify tracking information, customer notification preferences, and which FulfillmentOrderLineItem objects to fulfill from each fulfillment order. If you don't specify line items, then the mutation fulfills all items in the fulfillment order.

Learn more about building fulfillment solutions.

Arguments

•FulfillmentInput!
required

The input fields used to create a fulfillment from fulfillment orders.

•String

An optional message for the fulfillment request.


•mutation

Updates tracking information for a fulfillment, including the carrier name, tracking numbers, and tracking URLs. You can provide either single or multiple tracking numbers for shipments with multiple packages.

The mutation accepts a FulfillmentTrackingInput that supports both single tracking (using number and url fields) and multi-package tracking (using numbers and urls fields). When you specify a supported carrier name, Shopify automatically generates tracking URLs for the provided tracking numbers.

You can optionally notify customers about tracking updates with the notifyCustomer argument. When enabled, customers receive shipping update emails with tracking details and receive notifications about future updates to the fulfillment.

Learn more about enabling tracking support for fulfillment services.

Arguments

•ID!
required

The ID of the fulfillment.

•FulfillmentTrackingInput!
required

The tracking input for the mutation, including tracking URL, number, and company.

•Boolean

Whether the customer will be notified of this update and future updates for the fulfillment. If this field is left blank, then notifications won't be sent to the customer when the fulfillment is updated.


Deprecated mutations

•mutation
Deprecated

Arguments

•FulfillmentV2Input!
required

The input fields used to create a fulfillment from fulfillment orders.

•String

An optional message for the fulfillment request.


•mutation
Deprecated

Arguments

•ID!
required

The ID of the fulfillment.

•FulfillmentTrackingInput!
required

The tracking input for the mutation, including tracking URL, number, and company.

•Boolean

Whether the customer will be notified of this update and future updates for the fulfillment. If this field is left blank, then notifications won't be sent to the customer when the fulfillment is updated.



Was this section helpful?


Was this section helpful?