Assign Missing Serials to a Shipment Line
POST/api/sales-order-fulfillments/lines/:salesOrderFulfillmentLine/assign-serials
Give a shipped line of a serial-tracked product serial numbers for the units that have none (the "Serials missing" flag on the shipment page). SKU.io assigns the oldest serials in stock at the shipment's warehouse, the same way a new shipment does.
orders:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Permission: sales_orders.fulfill. No request body.
Response 200: data is the refreshed shipment line and message is "Serials assigned.", or "Serials assigned. N unit(s) still have no serial in stock." when the warehouse can't cover every unit (the line stays flagged).
422 on serials when the line's product isn't serial-tracked or the shipment hasn't shipped.
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.
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
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.