400s.
Line items — adding products, changing quantities, removing a line — are editable while the order is in received. Once picking begins, the contents are fixed.
Address, external_id, and shipping preferences go through PATCH /api/v1/orders/{order_id} and remain editable further into the pipeline. Shipping options, including address, can be edited up until the moment a shipping label has been purchased.
Add products to an existing order
id, your sku, or product_code for prescription products.
Change or remove a line
product_type in the path is one of prescription, non_prescription, or order_material.
Update the address, external ID, or shipping
PUT is accepted with identical merge semantics for backward compatibility.
update_patient=true writes the new address back to the patient record as well as the order. Without it, only this one order moves. Use it for a genuine relocation; omit it for a one-time ship-to-somewhere-else.Removing a line from an auto-created order
When editing isn’t the right tool
- The whole order shouldn’t ship → cancel it
- It should ship, but later → pause it
- It shipped and was wrong → request a replacement
- Only the carrier or service level is wrong → shipping preferences
Add products to an order
POST /orders/order_id/products
Update order item quantity
PATCH a single line
Remove a product from an order
DELETE a single line
Update an order
Address, external ID, shipping