Unable to do partial shipment on orders that have multiple line items via API

Hi there,

In the dashboard if there are multiple line items in an order, It’s viable to “Mark as shipped” a single Item.

However via API when I update an order and add a fulfillment(SHIPMENT type with status of COMPLETE) I’m having an error of “Orders cannot be created with more than one fulfillment”.

I would like to ask an advice on how to “Mark as shipped” a single Item via the API.


:wave: With UpdateOrder you can definitely update the status of an order. For example:

  "order": {
    "version": 1,
    "fulfillments": [
        "uid": "{{my_fulfillments_uid}}",
        "state": "COMPLETED"


The orders API doesn’t allow for multiple or split fulfillments currently. But this is a capability we’re considering for next year. Can you tell us more about how you want to split fulfillments on an order and for which fulfillment types?

Thanks for the reply @Bryan-Square and @aszerlip

It’s for shipment type. What we are trying to accomplish is just to “Mark as Shipped” a single item on an Order with multiple line of items

We tried to navigate in the API explorer and found out that orders with multiple line of items has only 1 fulfillment object in it hence, when we try to UPDATE that via API and set its state to “Completed” it would then complete all the line of items.

Is there a way to specify what line of item we want to mark as “Shipped” / “Completed” when updating the order’s fulfillment object?


Is there any update on when or if this will become available?

Sorry, I don’t have an update on timing yet. We have to work through some migration and backwards compatibility scenarios before we can enable the ability to split fulfillments like you described via the API. I don’t have a timeline available to share but can follow up once we’re closer to the point of enabling this capability.