Update Inbound Shipment
PUT/api/inbound-shipments/:inbound_shipment
Updates an inbound shipment. Only editable for shipments in Draft status. Lines array syncs the shipment lines (pass line id to update existing, omit id to add new, omit line entirely to delete).
purchase-orders:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token.
destination_warehouse_id (optional): The shipment's destination warehouse may be changed only while the shipment has no receipts. Once goods have been received against the shipment it is locked — attempting to change it returns a 422 validation error on destination_warehouse_id (the receipts and their FIFO layers / inventory movements already point at it).
Logistics dates (optional): port_eta and warehouse_eta are routed through LogisticsTrackingFieldValue rows. Pass them as part of the standard PATCH/PUT payload — the controller persists them only when the keys are present (use null to clear an existing value).
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.