Create Inventory Adjustment
POST/api/inventory-adjustments
Create a new inventory adjustment. Supports increase, decrease, and set adjustment types.
inventory:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token.
Fields:
- adjustment_date (required): Date of adjustment in Y-m-d format
- product_id (required): ID of the product to adjust (not bundles/matrix products)
- warehouse_id (required): ID of the target warehouse (must have a default location)
- quantity (required): Adjustment quantity (numeric, < 1,000,000, decimals supported e.g. 0.5). Must be non-zero for increase/decrease
- adjustment_type (required): One of: increase, decrease, set. Default: increase
- unit_cost (optional/required for increase/set): Cost per unit (must be >= 0). Required if product has no average cost
- notes (optional): Free-text notes
- warehouse_location_id (optional): Specific location within the warehouse
- condition (optional): Item condition description
- integration_unique_id (optional): External reference ID
Errors: 400 if insufficient stock (for decrease) or protected inventory conflict.
Requires permission: inventory.adjust
Request
Responses
- 200
- 400
- 401
- 403
- 422
- 429
OK
Response Headers
Bad Request
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.
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.