How inventory adjustments work
When you post an adjustment, Synq permanently records a stock movement with the following fields:- variant_id — the product variant the movement applies to
- location_id — the warehouse or fulfillment center where stock changed
- quantity_delta — a signed integer: positive values add stock, negative values remove it
Inventory adjustments are permanent. Once a movement is recorded, it cannot be modified or deleted. To correct a mistake, post a new adjustment that reverses the error.
Required headers
Every request to the Synq API requires three headers for tenant isolation and authentication.Adjust inventory
UsePOST /api/v1/inventory/adjust to record any stock movement for a variant at a specific location. This single endpoint covers all use cases: receiving new goods, removing damaged units, correcting miscounts, and writing off shrinkage.
Endpoint
Request fields
string (UUID)
required
The Synq variant UUID for the SKU whose stock you are adjusting.
string (UUID)
required
The UUID of the warehouse or fulfillment location where stock is changing.
integer
required
The signed quantity to apply. Use a positive integer to add stock (e.g. receiving a shipment), and a negative integer to remove stock (e.g. shrinkage or a manual write-off).
Examples
Response
A successful adjustment returns200 OK with the details of the recorded stock movement.
Response
Response fields
string (UUID)
The unique identifier of this recorded stock movement.
string (UUID)
The organization this adjustment belongs to.
string (UUID)
The tenant this adjustment belongs to.
string (UUID)
The variant whose stock was adjusted.
string (UUID)
The location where the stock movement occurred.
string
The type of movement recorded. API-driven adjustments use
"adjustment". Order fulfillment and returns use their own transaction types written automatically by the OMS.integer
The signed delta recorded for this movement. Positive means stock was added; negative means stock was removed.
string | null
An optional reference identifier linking this movement to an external record (e.g. a purchase order number).
null for generic API adjustments.number | null
Cost per unit at the time of the movement, if captured.
null for generic API adjustments.string
Human-readable note attached to this movement. Defaults to
"API Adjustment" for entries created via this endpoint.string (ISO 8601)
UTC timestamp of when this stock movement was recorded.