---
title: "Create a custom product for the key clinic's brand."
method: POST
path: "/api/v1/products"
tags: ["Products & Catalog"]
---

# Create a custom product for the key clinic's brand.

`POST /api/v1/products`

## Request

- Base URL: `https://api-dev.fusehealth.com`
- URL: `https://api-dev.fusehealth.com/api/v1/products`
- Auth: API key in header `x-api-key`

Creates a legacy Product owned by the key clinic's brand (brandId-scoped). No Stripe side-effect. Write-scoped.

## Request body

- object
  - `name` string, required
  - `description` string
  - `pharmacyPrice` number, required
  - `pharmacyProductId` string, required
  - `isActive` boolean

## Response `201`

Created

- object

## Other responses

- `400`: Bad request / business-rule failure (may include a `code`)
- `401`: Missing, invalid, inactive, or expired API key (or JWT)
- `403`: Authenticated but not permitted (insufficient scope, wrong role, or FUSE feature not enabled)

---

[API](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external.md) · [All operations](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external/llms.txt) · [OpenAPI document](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external/revisions/50821832728c?raw)
