# Products

Manage products and services that can be added to deals.

**Base URL:** `https://api.trustpager.com/functions/v1/api/v1`

## Endpoints

### GET /products

List all products.

**Scopes:** `products:read` — [full detail](./products/get-products.md)

### GET /products/:id

Retrieve a product by ID.

**Scopes:** `products:read` — [full detail](./products/get-products-id.md)

### POST /products

Create a product. name and price are required.

**Scopes:** `products:write` — [full detail](./products/post-products.md)

### PATCH /products/:id

Update a product. Writable fields include: name, sku, price, currency, category, description, unit, benefits, deposit_percent, default_expiry_days, images, track_inventory, track_batches, low_stock_threshold, is_active, metadata.

**Scopes:** `products:write` — [full detail](./products/patch-products-id.md)

### DELETE /products/:id

Delete a product.

**Scopes:** `products:write` — [full detail](./products/delete-products-id.md)

### GET /products/:id/costs

List cost entries for a product.

**Scopes:** `products:read` — [full detail](./products/get-products-id-costs.md)

### POST /products/:id/costs

Create a cost entry for a product.

**Scopes:** `products:write` — [full detail](./products/post-products-id-costs.md)

### PATCH /products/:id/costs/:costId

Update a product cost entry.

**Scopes:** `products:write` — [full detail](./products/patch-products-id-costs-costId.md)

### DELETE /products/:id/costs/:costId

Delete a product cost entry.

**Scopes:** `products:write` — [full detail](./products/delete-products-id-costs-costId.md)
