Sellvik / developers
Storefront API

Catalog

Products and categories, public read.

Product object

{
  "id": "f3a7e9b8-1c2d-4e5f-9a0b-1c2d3e4f5a6b",
  "slug": "kurti-emerald",
  "name": "Emerald Kurti",
  "description": "Hand-block printed cotton kurti.",
  "price": "1490.00",
  "comparePrice": "1990.00",
  "stock": 12,
  "sku": "KRT-EM-M",
  "tags": ["new", "summer"],
  "isActive": true,
  "isFeatured": false,
  "createdAt": "2026-05-20T08:00:00.000Z",
  "updatedAt": "2026-05-26T14:30:00.000Z"
}

Money fields are always strings. See Money and numbers.


List products

GET /api/v1/store/products

Query parameters

NameTypeDefaultNotes
limitinteger (1–100)20Page size.
cursorstringOpaque cursor from previous response.
qstringSubstring match against name and SKU.
categorySlugstringRestrict to products in this category.
sortenumnewestnewest, price-asc, price-desc, name-asc, popular.

Example

curl "https://api.sellvik.app/api/v1/store/products?sort=newest&limit=2" \
  -H "X-Sellvik-Key: <publishable-key>"

Response

{
  "items": [
    { "id": "...", "slug": "kurti-emerald", "name": "Emerald Kurti", "price": "1490.00", "stock": 12 },
    { "id": "...", "slug": "saree-rose", "name": "Rose Saree", "price": "3200.00", "stock": 4 }
  ],
  "nextCursor": "eyJpZCI6Im..."
}

Get a product by slug

GET /api/v1/store/products/{slug}

Path parameters

NameTypeNotes
slugstringProduct slug. Lowercase, hyphenated.

Example

curl "https://api.sellvik.app/api/v1/store/products/kurti-emerald" \
  -H "X-Sellvik-Key: <publishable-key>"

Response

200 with a Product object as above. 404 not_found if the slug doesn't exist or the product is inactive.


Category object

{
  "id": "c1d2e3f4-...",
  "name": "Sarees",
  "slug": "sarees",
  "description": "Cotton and silk sarees.",
  "imageUrl": "https://r2.sellvik.com/categories/sarees.jpg",
  "parentId": null,
  "isFeatured": true,
  "productCount": 47
}

List categories

GET /api/v1/store/categories

Returns active categories ordered by sortOrder then name. Cursor-paginated.

Example

curl "https://api.sellvik.app/api/v1/store/categories" \
  -H "X-Sellvik-Key: <publishable-key>"

Response

{
  "items": [
    { "id": "...", "name": "Sarees", "slug": "sarees", "productCount": 47 },
    { "id": "...", "name": "Kurtis", "slug": "kurtis", "productCount": 33 }
  ],
  "nextCursor": null
}

Get a category by slug

GET /api/v1/store/categories/{slug}

Returns the category and its products (paginated separately if very large).

curl "https://api.sellvik.app/api/v1/store/categories/sarees" \
  -H "X-Sellvik-Key: <publishable-key>"

On this page