Update a lot
Authorizations
API key issued per entity via Settings > Developers > API Keys.
Each key carries scopes (e.g. orders:read, products:write).
Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.
Headers
Client-generated unique key for idempotent POST/PATCH/DELETE operations. Alias for the Idempotency parameter. Max 255 chars. On retry with the same key, the original response is returned without re-executing the operation. Keys expire after 24 hours.
255Path Parameters
Body
Response
Updated lot
A lot-tracked production batch of a product. Created when receiving lot- tracked inventory and consumed via FEFO (first-expiry-first-out) at allocation time. Status walks active -> on_hold -> expired -> recalled via the change-status endpoint. Soft-delete refuses when quantity_on_hand > 0 (HTTP 409). Scope: lots:read / lots:write / lots:delete. Rule 23 SSOT: quantity_on_hand is written only by canonical inventory_transactions postings; the API never writes it directly.
"lot"
Operator-supplied or vendor-supplied lot identifier. 1..100 chars.
Per-unit landed cost at receipt (USD).
Original receive quantity. Immutable after creation.
Current on-hand. SSOT: derived via inventory_transactions.
Lifecycle state. Changed via POST /lots/{id}/change-status with mandatory reason.
active, on_hold, expired, recalled "active"
Migration provenance (e.g. versa, bubble).
Free-form caller metadata. Default {}.
Computed aggregate joined on lot_id from inventory.inventory_transactions. Only on GET /lots/{id}, not on list.

