IoneShop Developers

Products API

Scopes: products.read / products.write

List products

GET /v1/products?limit=250&cursor=...&updated_since=...&status=published

Get product

GET /v1/products/{id}

Create product

POST /v1/products
Idempotency-Key: ...
{
  "title": "Ceramic bottle 500ml",
  "handle": "ceramic-bottle-500",
  "status": "draft",
  "description": "…",
  "variants": [
    {
      "sku": "BOTTLE-500",
      "title": "Default",
      "prices": [{ "amount": 2499, "currency": "EUR" }]
    }
  ],
  "categories": ["cat_…"]
}

Update product

PATCH /v1/products/{id}

Partial update; omit unchanged fields.

Delete product

DELETE /v1/products/{id}

Batch upsert (in development)

POST /v1/products/batch
Idempotency-Key: ...

Confirm via availability / changelog before relying on this path. See Usage guidelines for planned batch limits.

Webhooks: product.created | product.updated | product.deleted.