Products
Products API
Manage your product catalog - create, update, and retrieve product information.
GET
/v1/productsRetrieve a paginated list of products
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | No | Page number (default: 1) |
| limit | integer | No | Items per page (default: 20, max: 100) |
| category | string | No | Filter by category name |
| active | boolean | No | Filter by active status |
| search | string | No | Search by name or SKU |
curl -X GET "https://gateway.regentherapy.com/api/v1/products?page=1&limit=20" \
-H "X-API-Key: rg_your_api_key"GET
/v1/products/:idRetrieve a single product by ID
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| id | string | The product ID (UUID format) |
curl -X GET "https://gateway.regentherapy.com/api/v1/products/prod_abc123" \
-H "X-API-Key: rg_your_api_key"POST
/v1/productsCreate a new product
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Product name (max 255 characters) |
| sku | string | Yes | Unique stock keeping unit |
| basePrice | number | Yes | Base selling price |
| description | string | No | Full product description |
| costPrice | number | No | Cost/wholesale price |
| categoryId | string | No | Category ID to assign |
| isActive | boolean | No | Whether product is active (default: true) |
| isControlled | boolean | No | Whether product is controlled substance |
| weight | number | No | Product weight for shipping |
| weightUnit | string | No | Weight unit: oz, lb, g, kg (default: oz) |
curl -X POST "https://gateway.regentherapy.com/api/v1/products" \
-H "X-API-Key: rg_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "New CBD Product",
"sku": "CBD-NEW-001",
"basePrice": 59.99,
"costPrice": 20.00,
"description": "High-quality CBD product",
"categoryId": "cat_xyz",
"weight": 3.5,
"weightUnit": "oz"
}'PUT
/v1/products/:idUpdate an existing product
Send only the fields you want to update. All fields are optional.
curl -X PUT "https://gateway.regentherapy.com/api/v1/products/prod_abc123" \
-H "X-API-Key: rg_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"basePrice": 89.99,
"isActive": false
}'DELETE
/v1/products/:idDelete a product (soft delete)
Products are soft-deleted and can be restored within 30 days. Products with active orders cannot be deleted.
curl -X DELETE "https://gateway.regentherapy.com/api/v1/products/prod_abc123" \
-H "X-API-Key: rg_your_api_key"Product Object
The complete product object structure
| Field | Type | Description |
|---|---|---|
| id | string | Unique product identifier (UUID) |
| name | string | Product display name |
| sku | string | Stock keeping unit (unique) |
| barcode | string | null | UPC/EAN barcode |
| description | string | null | Full product description |
| shortDescription | string | null | Brief description for listings |
| basePrice | number | Base selling price |
| costPrice | number | null | Cost/wholesale price |
| compareAtPrice | number | null | Original price for sale display |
| isActive | boolean | Whether product is available |
| isControlled | boolean | Controlled substance flag |
| requiresPrescription | boolean | Requires prescription |
| weight | number | null | Product weight |
| weightUnit | string | Weight unit (oz, lb, g, kg) |
| dimensions | object | null | Length, width, height |
| category | object | null | Category object with id and name |
| inventory | object | Total and available inventory counts |
| createdAt | string | ISO 8601 creation timestamp |
| updatedAt | string | ISO 8601 last update timestamp |