Skip to main content
The Inventory API gives you precise control over stock levels across all your fulfillment locations. Rather than setting an absolute quantity, you post a signed delta — positive to add stock and negative to remove it. Each adjustment creates an immutable ledger entry, so you always have a complete, auditable history of every stock movement.
All requests require three headers: Authorization: Bearer YOUR_TOKEN, X-Tenant-ID: YOUR_TENANT_ID, and X-Org-ID: YOUR_ORG_ID.

Adjust inventory

Post a stock adjustment for a specific product variant at a given location. The quantity_delta field is signed:
  • Positive values add stock (e.g. a goods receipt or purchase order receipt).
  • Negative values remove stock (e.g. a sales fulfillment or write-off).
POST /api/v1/inventory/adjust

Headers

Authorization
string
required
Bearer token from your authentication provider.
X-Tenant-ID
string
required
UUID of your tenant.
X-Org-ID
string
required
UUID of your organization.

Body

variant_id
string
required
UUID of the product variant whose stock you are adjusting.
location_id
string
required
UUID of the fulfillment location at which the adjustment occurs.
quantity_delta
integer
required
Signed integer indicating the stock change. Use a positive value to add units; use a negative value to remove units. A value of 0 is a no-op.

Response

Returns the created ledger entry.
id
string
UUID of the new ledger entry.
org_id
string
UUID of the organization.
tenant_id
string
UUID of the tenant.
variant_id
string
UUID of the adjusted variant.
location_id
string
UUID of the adjusted location.
quantity_delta
integer
The signed delta that was recorded.
transaction_type
string
Type of transaction. API-initiated adjustments are recorded as adjustment.
notes
string
Human-readable note attached to the entry. API-initiated adjustments use API Adjustment.
created_at
string
ISO 8601 timestamp of when the ledger entry was created.

Example: Receiving stock

Use a positive quantity_delta when stock arrives at a warehouse — for example, when a purchase order is received.
curl -X POST https://api.synq.app/api/v1/inventory/adjust \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "X-Tenant-ID: YOUR_TENANT_ID" \
  -H "X-Org-ID: YOUR_ORG_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "variant_id": "c3d4e5f6-a7b8-9012-cdef-345678901234",
    "location_id": "f6a7b8c9-d0e1-2345-abcd-678901234567",
    "quantity_delta": 250
  }'

Example: Fulfillment deduction

Use a negative quantity_delta when units are picked and shipped to fulfill an order.
curl -X POST https://api.synq.app/api/v1/inventory/adjust \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "X-Tenant-ID: YOUR_TENANT_ID" \
  -H "X-Org-ID: YOUR_ORG_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "variant_id": "c3d4e5f6-a7b8-9012-cdef-345678901234",
    "location_id": "f6a7b8c9-d0e1-2345-abcd-678901234567",
    "quantity_delta": -2
  }'
The API does not currently enforce a minimum stock floor. Posting a negative delta that would result in a sub-zero balance is permitted and will be recorded in the ledger. If you need oversell prevention, enforce stock checks in your application logic before calling this endpoint.