Axisel / docs
Manage keys← Back to Axisel

Products

Read and write products in your catalog.

List products

GET/api/v1/products

Scope: products:read. Returns a paginated list.

Query parameters

  • limit, offset — pagination
  • search — fuzzy match on name, SKU, barcode
  • statusactive | draft | archived
  • category — category id
  • createdAfter, createdBefore
curl
curl "https://axisel.com/api/v1/products?status=active&limit=20" \ -H "Authorization: Bearer sk_live_..."

Get a product

GET/api/v1/products/:id

Create a product

POST/api/v1/products

Scope: products:write.

curl
curl -X POST https://axisel.com/api/v1/products \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: application/json" \ -d '{ "name": "Cardigan Sweater", "price": 89.00, "sku": "CARD-001", "description": "Wool blend, machine washable.", "stock": 50, "status": "active" }'

Body fields

  • name (required) — display name
  • price, salePrice, costPrice
  • sku, barcode, brand, description
  • stock — initial stock (ignored if variants set; totals are computed)
  • variants — array of { color, size, stock, sku }
  • categoryId — category to assign
  • images — array of { url, linkedColor } or plain URL strings
  • statusactive | draft | archived
  • tags — array of strings

Update a product

PUT/api/v1/products/:id

Partial update — only the fields you pass are touched. Variant-level stock changes go through Inventory instead.

Delete a product

DELETE/api/v1/products/:id

Returns 204 No Content on success.

Product object

json
{ "id": "67e0...", "name": "Cardigan Sweater", "slug": "cardigan-sweater", "type": "single", "productType": "physical", "sku": "CARD-001", "price": 89, "salePrice": null, "stock": 50, "reserved": 3, "available": 47, "status": "active", "categoryId": "67df...", "images": [{ "url": "https://.../img.jpg", "linkedColor": null }], "variants": [], "tags": ["wool", "winter"], "publishedToMarketplace": true, "isRefundable": true, "createdAt": "2026-05-21T12:30:00.000Z", "updatedAt": "2026-05-21T12:30:00.000Z" }