Help Needed: Putting Shopify Order on Hold via Postman - Encountering Errors

Topic summary

A user is attempting to put Shopify orders on hold via Postman when postal codes are incorrect, but encounters a “Fulfillment order does not exist” error.

The Problem:

  • The mutation request includes proper headers and authentication
  • Error indicates the fulfillment order ID is invalid
  • The JSON response shows reversed/garbled text formatting, suggesting potential encoding or formatting issues

Suggested Solutions:

  1. Incorrect Global ID format: The ID gid://shopify/FulfillmentOrder/13969017503969 may be using the wrong object type. Try using Fulfillment instead of FulfillmentOrder as the object reference.

  2. Query available IDs first: Before attempting the hold mutation, run a GraphQL query to retrieve valid fulfillment order IDs:

query {
  fulfillmentOrders(first: 10) {
    nodes {
      id
    }
  }
}

This will ensure the correct fulfillment order ID exists before attempting to place it on hold. The discussion remains open with troubleshooting in progress.

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

Hi everyone,

I need some help with putting an order on hold using Postman. I’m currently working on a project where, if a postal code is incorrect, I want to put the order on hold to verify it with the customer.

I’ve been using some documentation, but I’m encountering errors and can’t seem to get it right. Here’s what I’ve done so far:

  1. I used the Shopify API documentation to set up my Postman request.
  2. I’ve made sure to include the necessary headers and authentication.
  3. However, I’m getting an error and the order isn’t being put on hold.

Has anyone successfully done this before? Could you provide a detailed example or point out what I might be doing wrong?

Thanks in advance for your help!

{
“query”: “mutation fulfillmentOrderHold($fulfillmentHold: FulfillmentOrderHoldInput!, $id: ID!) { fulfillmentOrderHold(fulfillmentHold: $fulfillmentHold, id: $id) { fulfillmentOrder { id status requestStatus fulfillmentHolds { reason reasonNotes } } userErrors { field message } } }”,
“variables”: {
“fulfillmentHold”: {
“notifyMerchant”: true,
“reason”: “INVENTORY_OUT_OF_STOCK”,
“reasonNotes”: “Waiting on new shipment”
},
“id”: “gid://shopify/FulfillmentOrder/13969017503969”
}
}

{
“data”: {
“fulfillmentOrderHold”: {
“fulfillmentOrder”: null,
“userErrors”: [
{
“field”: [
“id”
],
“message”: “Fulfillment order does not exist.”
}
]
}
},
“extensions”: {
“cost”: {
“requestedQueryCost”: 11,
“actualQueryCost”: 10,
“throttleStatus”: {
“maximumAvailable”: 2000.0,
“currentlyAvailable”: 1990,
“restoreRate”: 100.0
}
}
}
}

I think your issue is here:

"id": "gid://shopify/FulfillmentOrder/13969017503969"

If we check the Shopify docs for Global ID’s we don’t see a ‘FulfillmentOrder’ object. Maybe try 'Fulfillment ’

Documentation: https://shopify.dev/docs/api/usage/gids

1 Like

Hi ,there

The error has already prompted the error. “message”: “Fulfillment order does not exist.”

you could use the query graphql to query your available ids first .

query {
  fulfillmentOrders(first: 10) {
    nodes {
      id
    }
  }
}