Products API
List products
Section titled “List products”GET /api/v1/productsQuery parameters:
page— page number (default: 1)per_page— items per page (default: 20)category— filter by category slugsearch— search by title/description
Response:
{ "products": [ { "id": "uuid", "title": "82mm Big Mitty Race Wheel", "slug": "82mm-big-mitty-race-wheel", "sku": "BIGMITTY", "price": 75.00, "currency": "USD", "inventory_quantity": 282, "weight": 1.1, "weight_unit": "kg", "is_active": true, "image_url": "https://...", "categories": [{ "id": "uuid", "name": "Wheels", "slug": "wheels" }] } ], "meta": { "page": 1, "per_page": 20, "total": 53, "total_pages": 3 }}Get product
Section titled “Get product”GET /api/v1/products/:idReturns full product details including variants, images, and categories.
Create product
Section titled “Create product”POST /api/v1/productsAuthorization: Bearer <admin_token>{ "title": "Product Name", "slug": "product-name", "description": "...", "sku": "SKU-001", "price": 29.99, "currency": "USD", "inventory_quantity": 100, "weight": 0.5, "weight_unit": "kg", "is_active": true}Update product
Section titled “Update product”PATCH /api/v1/products/:idAuthorization: Bearer <admin_token>Partial update — only include fields to change.
Delete product
Section titled “Delete product”DELETE /api/v1/products/:idAuthorization: Bearer <admin_token>Soft-deletes the product (sets is_active = false).
Product variants
Section titled “Product variants”GET /api/v1/products/:id/variantsPOST /api/v1/products/:id/variantsPATCH /api/v1/products/:id/variants/:variant_idDELETE /api/v1/products/:id/variants/:variant_idProduct images
Section titled “Product images”GET /api/v1/products/:id/imagesPOST /api/v1/products/:id/imagesDELETE /api/v1/products/:id/images/:image_id