Product
Base path: /api/data/product
All product CRUD endpoints are registered but not yet implemented — handlers are empty stubs.
POST /api/data/product
Create a new product record.
Auth: Session cookie required
Tenant: Scoped via x-tenant-id header
Not yet implemented — returns no response.
Product Schema Reference
| Field | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | Tenant identifier |
| name | string | Yes | Product name |
| description | string | No | Product description |
| sku | string | Yes | Stock-keeping unit code |
| priceCents | number | Yes | Price in cents (non-negative integer) |
| currency | string | No | ISO 4217 currency code, 3 chars (default USD) |
| requiredRoleIds | string[] | No | Role IDs required to purchase (default []) |
| grantedRoleIds | string[] | No | Role IDs granted upon purchase (default []) |
| isDigital | boolean | No | Whether the product is digital (default false) |
| isActive | boolean | No | Whether the product is active (default true) |
| inventoryTracked | boolean | No | Whether inventory is tracked (default true) |
| createdAt | date | Yes | Creation timestamp |
| updatedAt | date | Yes | Last update timestamp |
GET /api/data/product/:id
Retrieve a product by ID.
Auth: Session cookie required
Tenant: Scoped via x-tenant-id header
Not yet implemented — returns no response.
PATCH /api/data/product/:id
Update a product by ID.
Auth: Session cookie required
Tenant: Scoped via x-tenant-id header
Not yet implemented — returns no response.
DELETE /api/data/product/:id
Delete a product by ID.
Auth: Session cookie required
Tenant: Scoped via x-tenant-id header
Not yet implemented — returns no response.