Pricing
Pricing
Set detailed prices for a product variant — flat prices, compare-at (strike-
through) prices, and quantity-break tiers — per currency or per price list.
Requires data:write:products (or data:write:*).
Set variant prices
PATCH /papi/v1/variants/{variant_id}/prices
The body carries a prices array. Each entry targets a price list (by
pricelistId) or a currency (by currency), and sets either a flat
price or a tier ladder:
| Field | Notes |
|---|---|
pricelistId |
Target a specific price list… |
currency |
…or target by currency (ISO code) |
priceCents |
Flat offer price, in cents (the amount charged) |
compareAtCents |
Standard price shown struck through, in cents |
tiers |
Quantity-break ladder (instead of a flat price) |
Each tier is { fromQty, toQty, priceCents, compareAtCents }; use toQty: null
for the open-ended top tier. Provide exactly one of priceCents or tiers per
entry — sending neither (or both) returns 400 provide_priceCents_or_tiers.
curl -X PATCH https://api-v1.zingasuite.com/papi/v1/variants/<variant-id>/prices \
-H "Authorization: Bearer zk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"prices": [
{ "currency": "USD", "priceCents": 1799, "compareAtCents": 1999 },
{ "currency": "INR", "tiers": [
{ "fromQty": 1, "toQty": 9, "priceCents": 149900 },
{ "fromQty": 10, "toQty": null, "priceCents": 129900 }
]}
]
}'
Offer vs standard price
priceCentsis the offer price — what the customer pays.compareAtCentsis the standard price — shown struck through to signal a
discount. Set it equal topriceCents(or omit it) when there is no discount.
Reading prices back
Fetch the product with GET /products/{id}?websiteId=<id>; each variant's
prices array reflects what you set here, including the resolved tiers. See
Products.
For price lists as objects (create/list/update), use the pricelists resource
under Generic resources.