ZingaShopSign in

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" }'
  • 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.
Was this helpful?