How to fulfill a line item on an order with the python SDK?

New Member
6 0 0

I'm trying to fulfill a line item on an order with the python API but I'm getting an error. I'm trying to do this:

xxxx is the line_item ID and yyyy is the order_id

line_items =[{"id": xxxx}]
new_fulfillment = shopify.Fulfillment()
new_fulfillment.order_id = "yyyy"
new_fulfillment.line_items = line_items


However at this point I get an error

pyactiveresource.connection.ResourceNotFound: Not Found:


It looks like the order_id is not getting into the endpoint URL correctly. What am I missing here?

Replies 2 (2)
Shopify Staff
Shopify Staff
22 0 1

Hi Arian, 

The following should work: 

order = shopify.Order.find(XXXXXX)
new_fulfillment = shopify.Fulfillment({'order_id':, 'line_items': order.line_items})

Note that you are passing in the line_items themselves, and not their IDs. 

Good luck!


Shopify Partner
12 0 2

Update in 2021, location_id is mandatory for the fulfillment. This is my sample code to do it

order = shopify.Order.find(1234567890)
location = shopify.Location.find()[0]
new_fulfillment = shopify.Fulfillment({'order_id':,
                                       'line_items': order.line_items,


I build processes and products around Shopify and ReCharge API