Update Work Order
Update an existing work order with partial data
Array Field Update Behavior
Important: Including ANY array field replaces ALL existing items:
- Include appropriate
idfield to update existing items - Omit
idfield to create new items - Items NOT included in the array will be DELETED
Applies to: work_order_line_items, pickers, packers
Status-Based Restrictions
Started work orders (IN_PROGRESS or COMPLETED status) have additional restrictions:
- Cannot update:
staging_location_id,quantity_to_assemble - Components: Cannot update
product_stock_idvalues
Status Transitions
Work orders enforce strict status transition rules:
| Current Status | Can Transition To | Notes |
|---|---|---|
AWAITING_APPROVAL | APPROVED, CANCELLED | Initial state after creation |
APPROVED | IN_PROGRESS, CANCELLED, AWAITING_APPROVAL | Ready to start |
IN_PROGRESS | COMPLETED, CANCELLED | Work is actively being performed |
COMPLETED | AWAITING_APPROVAL | Rollback allowed for corrections |
CANCELLED | (none) | Final state - no further transitions |
Authorization
api_key In: header
Path Parameters
The ID of the work order to update
Request Body
application/json
ShipOS-specific update input for work orders. Section data is managed through dedicated attachments/components/packages endpoints.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X PATCH "https://example.com/shipos/work-orders/string" \ -H "Content-Type: application/json" \ -d '{}'{ "description": "string", "pick_list_urls": [ "string" ], "work_order_number": "string", "receiving_location_name": "string", "receiving_location_id": "string", "staging_location_name": "string", "staging_location_id": "string", "warehouse_name": "string", "fulfiller_team_name": "string", "merchant_team_name": "string", "fulfiller_team_id": "string", "vendor_name": "string", "vendor_id": "string", "merchant_team_id": "string", "warehouse_id": "string", "requested_by_user_name": "string", "requested_by_user_id": "string", "assembly_product_image_url": "string", "assembly_product_name": "string", "assembly_product_sku": "string", "assembly_product_id": "string", "assembled_quantity": 0.1, "quantity_to_assemble": 0.1, "assembly_details": "string", "packing_details": "string", "config": { "require_pack_shot": true, "show_unfulfilled_items_on_packing_list": true, "show_prices_on_packing_slip": true, "tote_qa_enabled": true, "incoterm": "FAS", "incoterm_location": "string", "eel_pfc": "string", "delivery_confirmation": "NO_SIGNATURE", "saturday_delivery": true, "insurance_policy": { "mode": "none" }, "customs_signer": "string", "customs_signer_title": "string", "customs_certify": true, "non_delivery_option": "ABANDON", "restriction_type": "NONE", "restriction_comments": "string", "contents_type": "OTHER", "contents_explanation": "string", "commercial_invoice_transaction_reason": "SALE", "declaration": "string", "commercial_invoice_payment_terms": "string", "commercial_invoice_transport_mode": "string", "commercial_invoice_port_of_entry": "string", "commercial_invoice_country_of_transshipment": "string", "commercial_invoice_package_marks": "string", "commercial_invoice_freight_amount": 0, "commercial_invoice_discount_amount": 0, "commercial_invoice_other_charge_amount": 0, "commercial_invoice_other_charge_description": "string", "commercial_invoice_importer_tax_id": "string", "commercial_invoice_importer_vat": "string", "commercial_invoice_importer_eori": "string", "commercial_invoice_importer_ioss": "string", "commercial_invoice_vat_statement": "string", "commercial_invoice_export_license_number": "string", "destination_control_statement_required": true }, "currency": "string", "priority": 0.1, "status": "AWAITING_APPROVAL", "type": "ASSEMBLY", "name": "string", "packed_by_user_name": "string", "packed_by_user_id": "string", "packing_completed_at": "2019-08-24T14:15:22Z", "packing_started_at": "2019-08-24T14:15:22Z", "packing_revision": 0.1, "completed_at": "2019-08-24T14:15:22Z", "assembled_at": "2019-08-24T14:15:22Z", "picked_at": "2019-08-24T14:15:22Z", "requested_by": "2019-08-24T14:15:22Z", "scheduled_by": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "id": "string", "work_order_line_items": [ { "uom_profile_id": "string", "work_order_id": "string", "deducted_quantity": 0.1, "product_stock_id": "string", "product_id": "string", "product_type": "STANDARD", "image_url": "string", "sku": "string", "name": "string", "quantity": 0.1, "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "id": "string", "product_stock": { "uom_label": "string", "uom_multiplier_to_eaches": 0, "uom_profile_id": "string", "location_kind": "STATIC", "location_pickable": true, "location_sellable": true, "parent_location_name": "string", "location_name": "string", "product_type": "STANDARD", "image_url": "string", "sku": "string", "name": "string", "warehouse_name": "string", "warehouse_id": "string", "team_id": "string", "merchant_team_id": "string", "fulfiller_team_id": "string", "location_id": "string", "product_id": "string", "created_at": "2019-08-24T14:15:22Z", "received_at": "2019-08-24T14:15:22Z", "expiration_date": "2019-08-24T14:15:22Z", "lot_code": "string", "updated_at": "2019-08-24T14:15:22Z", "on_hand": 0.1, "id": "string" }, "picks": [ { "id": "string", "created_at": "2019-08-24T14:15:22Z", "quantity": 0.1, "lot_code": "string", "expiration_date": "2019-08-24T14:15:22Z", "uom_profile_id": "string", "uom_multiplier_to_eaches": 0, "uom_label": "string", "product_stock_id": "string" } ] } ], "total_line_items": 0.1, "total_quantity": 0.1}