Products
Products
Products are the core of your ZingaShop catalog. These purpose-built endpoints
let you list, read, create and update products, including their variants, media
and per-storefront pricing.
Requires data:read to read and data:write:products (or data:write:*) to
write.
List products
GET /papi/v1/products
Query parameters: limit, offset, q (search by name/SKU), websiteId
(scope to a storefront and price in its currency). Returns a
paginated list:
curl "https://api-v1.zingasuite.com/papi/v1/products?limit=20&q=wax" \
-H "Authorization: Bearer zk_live_xxx"
{ "data": [ { "id": "…", "name": "…" } ], "total": 42, "limit": 20, "offset": 0 }
Get a product
GET /papi/v1/products/{id}
Pass ?websiteId=<uuid> to receive prices in that storefront's currency. The
response includes media and every variant with its price ladder:
{
"id": "…",
"code": "WAX-PREM",
"name": "Premium Car Wax",
"type": "simple",
"status": "published",
"createdAt": "2026-07-11T09:30:00Z",
"heroImage": { "url": "…" },
"images": [ { "url": "…" } ],
"videos": [],
"variants": [
{
"id": "…",
"sku": "WAX-PREM-500",
"isDefault": true,
"isActive": true,
"priceCents": 1999,
"currency": "USD",
"prices": [
{
"pricelistId": "…",
"pricelist": "api-usd",
"currency": "USD",
"priceCents": 1999,
"standardCents": 1999,
"tiers": [
{ "fromQty": 1, "toQty": null, "priceCents": 1999, "standardCents": 1999 }
]
}
]
}
]
}
Create a product
POST /papi/v1/products → 201 Created
| Field | Required | Notes |
|---|---|---|
name |
yes | Display name |
type |
no | simple (default), configurable, bundle, digital, subscription, gift_card |
status |
no | active or draft |
sku |
no | Stock-keeping unit for the default variant |
shortDescription |
no | Short summary |
priceCents |
no | Price of the default variant, in cents |
currency |
no | ISO currency for priceCents |
websiteId |
no | Associate with a storefront |
slug |
no | URL slug (generated from name if omitted) |
curl -X POST https://api-v1.zingasuite.com/papi/v1/products \
-H "Authorization: Bearer zk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Premium Car Wax",
"sku": "WAX-PREM-500",
"priceCents": 1999,
"currency": "USD",
"status": "active"
}'
Update a product
PATCH /papi/v1/products/{id}
Updatable fields: name, status, code, priceCents, currency. Only the
fields you send are changed.
curl -X PATCH https://api-v1.zingasuite.com/papi/v1/products/<id> \
-H "Authorization: Bearer zk_live_xxx" \
-H "Content-Type: application/json" \
-d '{ "status": "draft" }'
Related
- Set detailed prices and quantity tiers per variant on the Pricing
page. - Manage stock on the Inventory page.
- Browse the full catalog object list under Generic resources.