Cannot create fulfillment for the fulfillment order

Topic summary

A developer encountered an error when attempting to create a fulfillment using the fulfillmentCreateV2 GraphQL mutation. The API returned: “Cannot create fulfillment for the fulfillment order.”

Root Cause:
The issue stemmed from missing API access scopes required for third-party fulfillment services.

Resolution:
The developer needed to add the following scopes:

  • read_third_party_fulfillment_orders
  • write_third_party_fulfillment_orders

Once these permissions were granted, the fulfillment creation succeeded.

Documentation Gap:
Another user confirmed this scope requirement is missing from the official Shopify documentation for the POST fulfillment creation endpoint, making this a common stumbling block for developers working with third-party fulfillment services.

Summarized with AI on November 25. AI used: claude-sonnet-4-5-20250929.

Trying to fulfill order but will get response “Cannot create fulfillment for the fulfillment order.”. Any ideas why it fails? What to change to make it work?

Here is the info:

RequestId: f6ecb378-92ca-4623-86fa-5910a3c19ff9

Request:

mutation CreateFulfillment {

fulfillmentCreateV2( fulfillment: {lineItemsByFulfillmentOrder: {fulfillmentOrderId: “gid://shopify/FulfillmentOrder/5275395227748”}} )

{

userErrors {

field

message

}

}

}

Response:

{

“data”: {

“fulfillmentCreateV2”: {

“userErrors”: [

{

“field”: [

“fulfillment”

],

“message”: “Cannot create fulfillment for the fulfillment order.”

}

]

}

},

“extensions”: {

“cost”: {

“requestedQueryCost”: 10,

“actualQueryCost”: 10,

“throttleStatus”: {

“maximumAvailable”: 1000,

“currentlyAvailable”: 990,

“restoreRate”: 50

}

}

}

}

Order info:

{

“data”: {

“order”: {

“id”: “gid://shopify/Order/4321688551524”,

“legacyResourceId”: “4321688551524”,

“fulfillments”: ,

“fulfillmentOrders”: {

“edges”: [

{

“node”: {

“id”: “gid://shopify/FulfillmentOrder/5275395227748”

}

}

]

}

}

},

“extensions”: {

“cost”: {

“requestedQueryCost”: 14,

“actualQueryCost”: 5,

“throttleStatus”: {

“maximumAvailable”: 1000,

“currentlyAvailable”: 995,

“restoreRate”: 50

}

}

}

}

Fulfillment service is set up as:

{“fulfillment_services”:[{“id”:xxxxx,“name”:“xxxxxx”,“email”:null,“service_name”:“xxxxx”,“handle”:“xxxxxx”,“fulfillment_orders_opt_in”:true,“include_pending_stock”:false,“provider_id”:null,“location_id”:xxxxxx,“callback_url”:“https://xxxxx/xxx/callback”,“tracking_support”:true,“inventory_management”:true,“admin_graphql_api_id”:“gid://shopify/ApiFulfillmentService/xxxxx”,“permits_sku_sharing”:false}]}

Solution: I needed to have read_third_party_fulfillment_orders,write_third_party_fulfillment_orders scope rights.

2 Likes

Thank you for posting this, it is missing from the documentation for POST “Creates a fulfillment for one or many fulfillment orders”. You saved my morning from having to figure it out.