---
title: "Create a customer coupon."
method: POST
path: "/api/v1/coupons"
tags: ["Misc / Uploads"]
---

# Create a customer coupon.

`POST /api/v1/coupons`

## Request

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

Creates a coupon for the key's clinic (code unique per clinic, stored uppercase). Requires the `write` scope.

## Request body

- object
  - `code` string, required
  - `description` unknown
  - `discountType` 'percent' | 'fixed', required
  - `discountValue` number, required: > 0; ≤ 100 when discountType=percent.
  - `startsAt` string, date-time
  - `expiresAt` string, date-time
  - `isActive` boolean
  - `scope` 'first_charge' | 'all_charges'
  - `overMarginBehavior` 'reject' | 'cap' | 'absorb'
  - `maxRedemptions` unknown
  - `perCustomerLimit` unknown
  - `minOrderAmount` unknown

## Response `201`

Created

- object
  - `success` boolean
  - `data` 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)
