Set or adjust stock
Sets a variant's stock to a quantity (set) or changes it by an amount (adjust, e.g. -3). Stock can't go below zero. Every change is recorded in the store's stock history.
apiKeyAuthorizationBearer <token>A store API key from Settings → Developers → API keys, sent as Authorization: Bearer zk_live_….
id*stringThe resource id
uuidvariant_id*stringThe variant id
uuidIdempotency-Key?stringA unique value (e.g. a UUID) per change. Retrying with the same key returns the first result instead of applying the change twice. Kept for 24 hours.
length <= 255application/json- body
mode*stringset replaces the quantity; adjust adds to it
"set""adjust"quantity*integerset: the new quantity (≥ 0). adjust: the change (≠ 0)
note?stringlength <= 200Success
application/json- response
object*"product_variant""product_variant"id*stringproduct_id*stringtitle*stringsku*stringbarcode*stringprice*stringFull price, before the variant discount
discount_type*string"percentage""fixed"discount_value*stringDecimal amount as a string, e.g. "149.00"
stock*integerUnits in stock; null when stock isn't tracked
low_stock_threshold*integeroption1*stringoption2*stringoption3*stringposition*integerimage_url*stringcreated_at*stringISO 8601 timestamp
updated_at*stringISO 8601 timestamp
curl -X POST "https://example.com/products/497f6eca-6276-4993-bfeb-53cbbbba6f08/variants/497f6eca-6276-4993-bfeb-53cbbbba6f08/stock" \ -H "Content-Type: application/json" \ -d '{ "mode": "set", "quantity": 0 }'{ "object": "product_variant", "id": "00000000-0000-4000-8000-0000000000b1", "product_id": "00000000-0000-4000-8000-0000000000a1", "title": "Medium / Black", "sku": "TSHIRT-M-BLK", "barcode": null, "price": "120.00", "discount_type": "percentage", "discount_value": "10.00", "stock": 42, "low_stock_threshold": 5, "option1": "Medium", "option2": "Black", "option3": null, "position": 1, "image_url": null, "created_at": "2026-09-01T08:00:00.000Z", "updated_at": "2026-10-01T09:30:00.000Z"}Update a variant's price PATCH
Changes a variant's price and discount. Only the fields you send change. The discount must leave a price above zero. Returns the whole product.
List customers GET
Lists the store's customers, newest first, with contact details and marketing status. Filter by exact email or date.