Hi,
I am struggling to use the `fulfillmentOrderLineItemsPreparedForPickup’ mutation to mark items as ready for pick up.
I have been using the Shopify GraphiQL App to query my test store but I cannot get this to work despite having all the correct access scopes/permissions etc.
For example, I have the below fulfillment which hasn’t been processed yet.
I use the ‘FulfillmentOrderShow’ to check that fulfillment is associated with the order
query FulfillmentOrderShow($id: ID!) {
fulfillmentOrder(id: $id) {
assignedLocation {
location {
id
}
}
channelId
destination {
address1
address2
city
company
countryCode
zip
firstName
lastName
}
fulfillAt
fulfillBy
requestStatus
status
lineItems(first: 10) {
edges {
node {
inventoryItemId
remainingQuantity
requiresShipping
weight {
unit
value
}
}
}
}
}
}
{
"id": "gid://shopify/FulfillmentOrder/7436723912882"
}
and this is the response I get with the status being open
{
"data": {
"fulfillmentOrder": {
"assignedLocation": {
"location": {
"id": "gid://shopify/Location/81880907954"
}
},
"channelId": null,
"destination": {
"address1": "1 Meta Way",
"address2": null,
"city": "Menlo Park",
"company": null,
"countryCode": "US",
"zip": "94025"
},
"fulfillAt": "2025-10-12T22:00:00Z",
"fulfillBy": null,
"requestStatus": "UNSUBMITTED",
"status": "OPEN",
"lineItems": {
"edges": [
{
"node": {
"inventoryItemId": "gid://shopify/InventoryItem/48544701972658",
"remainingQuantity": 1,
"requiresShipping": true,
"weight": {
"unit": "OUNCES",
"value": 2.5
}
}
}
]
}
}
},
"extensions": {
"cost": {
"requestedQueryCost": 10,
"actualQueryCost": 7,
"throttleStatus": {
"maximumAvailable": 20000,
"currentlyAvailable": 19993,
"restoreRate": 1000
}
}
}
}
I now try and call the ‘fulfillmentOrderLineItemsPreparedForPickup‘ mutation with the below request
mutation fulfillmentOrderLineItemsPreparedForPickup($input: FulfillmentOrderLineItemsPreparedForPickupInput!) {
fulfillmentOrderLineItemsPreparedForPickup(input: $input) {
userErrors {
field
message
}
}
}
{
"input": {
"lineItemsByFulfillmentOrder": [
{
"fulfillmentOrderId": "gid://shopify/FulfillmentOrder/7436723912882"
}
]
}
}
Always end up with the response saying invalid fulfillment order id provided. I have tried with a different order as well. Is there a step that I am missing in between to get this working correctly? Any help would be appreciated.
{
"data": {
"fulfillmentOrderLineItemsPreparedForPickup": {
"userErrors": [
{
"field": [
"input",
"lineItemsByFulfillmentOrder",
"0",
"fulfillmentOrderId"
],
"message": "Invalid fulfillment_order_id provided 7436723912882"
}
]
}
},
"extensions": {
"cost": {
"requestedQueryCost": 10,
"actualQueryCost": 10,
"throttleStatus": {
"maximumAvailable": 20000,
"currentlyAvailable": 19990,
"restoreRate": 1000
}
}
}
}
