Inventory
Adjust inventory -- single or multi-item atomic (cycle count, shrinkage, revaluation)
ATOMIC-CREATE (2026-05-12): accepts items[] for multi-line atomic adjustments OR
top-level product_id/quantity for single-item compat mode.
All items adjust in one DB transaction; any failure rolls back all items (no partial writes).
Positive or negative delta per item. Hard-blocks negative balance and zero-cost positives.
GL: DR/CR Inventory + DR/CR Suspense or Shrinkage via glPostInventoryAdjustment, fires per item in same transaction (Rule 21).
Connector: triggers async pushInventoryToMarketplaces.
Response: {object:inventory_adjustment_result, items:[{index,product_id,balance,transaction,gl_amount,journal_entry_id,consumed_layers}], summary} for items[]; single object for compat mode.
On failure: {error, code, hint, items_completed_before_failure} -- all items rolled back regardless of items_completed_before_failure.
migration:write scope: documents authorization for opening-balance loads. Hard-blocks still apply.
POST
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.
Maximum string length:
255Body
application/json
Response
Adjustment applied
Available options:
inventory_adjustment_result 
