Products API
Manage product catalog and listings.
Endpoints
List Products
GET /api/v1/products
Authorization: Bearer {token}
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
category | string | Filter by category |
brand | string | Filter by brand |
search | string | Search product names |
active | boolean | Only active products |
Response:
{
"data": [
{
"id": "prod-uuid",
"name": "Blue Dream",
"brand": "Premium Farms",
"category": "flower",
"subcategory": "hybrid",
"description": "A balanced hybrid with sweet berry aroma",
"thc_percentage": 22.5,
"cbd_percentage": 0.8,
"variants": [
{
"id": "var-uuid",
"name": "1/8 oz",
"sku": "BD-EIGHTH",
"weight": 3.5,
"weight_unit": "g",
"price": 45.00,
"wholesale_price": 25.00
}
],
"images": [
"https://cdn.reup.com/products/bd-001.jpg"
],
"test_results": {
"lab": "Confident Cannabis",
"date": "2026-01-15",
"batch_id": "BATCH-2026-001"
},
"active": true,
"created_at": "2026-01-01T00:00:00Z"
}
]
}
Get Product
GET /api/v1/products/{id}
Create Product
POST /api/v1/products
Authorization: Bearer {token}
{
"name": "Blue Dream",
"brand": "Premium Farms",
"category": "flower",
"subcategory": "hybrid",
"description": "A balanced hybrid...",
"thc_percentage": 22.5,
"cbd_percentage": 0.8,
"variants": [
{
"name": "1/8 oz",
"sku": "BD-EIGHTH",
"weight": 3.5,
"weight_unit": "g",
"price": 45.00,
"wholesale_price": 25.00
}
]
}
Update Product
PATCH /api/v1/products/{id}
Delete Product
DELETE /api/v1/products/{id}
Product Categories
| Category | Subcategories |
|---|---|
flower | indica, sativa, hybrid |
concentrates | shatter, wax, live_resin, rosin |
edibles | gummies, chocolates, beverages |
vapes | cartridges, disposables |
topicals | lotions, balms |
accessories | papers, pipes, grinders |
Product Variants
Each product can have multiple variants (sizes, weights).
Add Variant
POST /api/v1/products/{id}/variants
Update Variant
PATCH /api/v1/products/{id}/variants/{variant_id}
Test Results (COA)
Upload COA
POST /api/v1/products/{id}/coa
Content-Type: multipart/form-data
file: [PDF file]
lab: "Confident Cannabis"
batch_id: "BATCH-2026-001"
Get COA
GET /api/v1/products/{id}/coa