Marking an order as "Ready to pickup" and "Picked up" using Shopify API

Shopify Partner
14 1 1

I'm sending a POST request to with payload:

{"fulfillment": {"location_id": 56908873894, "shipment_status": "ready_for_pickup"}}


The result I'm receiving is:

{"fulfillment":{"id":3354343145638,"order_id":3795053084838,"status":"success","created_at":"2021-04-27T16:15:56+01:00","service":"manual","updated_at":"2021-04-27T16:15:56+01:00","tracking_company":null,"shipment_status":null,"location_id":56908873894,"line_items":[{"id":9870673543334,"variant_id":39251348783270,"title":"Ajax Full Zip Sweatshirt","quantity":1,"sku":"50003471S","variant_title":"Size S Color Green","vendor":"LUMA","fulfillment_service":"manual","product_id":6536321138854,"requires_shipping":true,"taxable":true,"gift_card":false,"name":"Ajax Full Zip Sweatshirt - Size S Color Green","variant_inventory_management":"shopify","properties":[],"product_exists":true,"fulfillable_quantity":0,"grams":0,"price":"69.00","total_discount":"0.00","fulfillment_status":"fulfilled","price_set":{"shop_money":{"amount":"69.00","currency_code":"GBP"},"presentment_money":{"amount":"69.00","currency_code":"GBP"}},"total_discount_set":{"shop_money":{"amount":"0.00","currency_code":"GBP"},"presentment_money":{"amount":"0.00","currency_code":"GBP"}},"discount_allocations":[],"duties":[],"admin_graphql_api_id":"gid:\/\/shopify\/LineItem\/9870673543334","tax_lines":[{"title":"GB VAT","price":"11.50","rate":0.2,"price_set":{"shop_money":{"amount":"11.50","currency_code":"GBP"},"presentment_money":{"amount":"11.50","currency_code":"GBP"}}}],"origin_location":{"id":2652546007206,"country_code":"GB","province_code":"","name":"Retail IT Demo Shop","address1":"56 Wimbledon Hill Road","address2":"","city":"London","zip":"SW19 7PA"}}],"tracking_number":null,"tracking_numbers":[],"tracking_url":null,"tracking_urls":[],"receipt":{},"name":"1108.1","admin_graphql_api_id":"gid:\/\/shopify\/Fulfillment\/3354343145638"}}

Order status is "Fulfilled" not "Ready for pickup" like when I'm doing from admin web interface. I checked Shopify community forum and found a topic related to my issue, but there is no solution:

Replies 7 (7)

Shopify Staff
95 21 24

Hi @MaximRIT,

As of now, there isn't any way to mark an order as ready_for_pickup via our APIs, this is only possible (AFAIK) via the merchant's Admin interface.


syf_ | Developer Support @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit or the Shopify Web Design and Development Blog

Shopify Partner
18 0 2

From what I understand this has still not been fixed? Has anybody had further information regarding this?

Shopify Partner
7 0 12

Come on Shopify. This really isn't good enough when automation is the way businesses can scale. This has been a issue since back in 2020 or prior based on other threads.

Shopify Staff (Retired)
3 0 4

This is a known issue and is slated to be resolved in the 2023-01 release candidate

To mark an order as picked up, use the fulfillmentCreateV2 mutation .

To learn more visit the Shopify Help Center or the Community Blog.

Shopify Partner
3 0 3

What about marking an order as picked up? I can't find any information on getting that done through the api.

Shopify Partner
14 1 1

This works to mark order as ready for pickup, but how about marking it as picked up? This is essential thing and making order ready for pickup using API without finalizing it as picked up via API is almost useless.

Shopify Partner
7 0 12

The second part of Bretts message. create a fulfilment to ‘mark as picked up’ not entirely logical maybe but it does work. be sure to set notify customer to false.

this second call is available on REST too, the first is graphql only.