---
title: "Upsert billing coupon"
method: POST
path: "/billing/coupons"
tags: ["billing"]
---

# Upsert billing coupon

`POST /billing/coupons`

## Request body

- CreateCouponRequestBody
  - `amount_off` integer, required
  - `currency` string, nullable
  - `duration` string, required
  - `duration_in_months` integer, required
  - `external_id` string, required
  - `max_redemptions` integer, required
  - `name` string, required
  - `percent_off` number, double, required
  - `times_redeemed` integer, required

## Response `201`

Created

- object
  - `data` BillingCouponResponseData, required
    - `account_id` string, required
    - `amount_off` integer, nullable
    - `currency` string, nullable
    - `duration` string, nullable
    - `duration_in_months` integer, nullable
    - `environment_id` string, required
    - `external_id` string, required
    - `id` string, required
    - `is_active` boolean, required
    - `max_redemptions` integer, nullable
    - `metadata` object, required
    - `name` string, required
    - `percent_off` number, double, nullable
    - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
    - `times_redeemed` integer, required
    - `valid_from` string, date-time, nullable
    - `valid_until` string, date-time, nullable
  - `params` object, required — Input parameters

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `500` — Server error

---

[API](https://skmtc.net/schematichq/apis/schematic-api.md) · [All operations](https://skmtc.net/schematichq/apis/schematic-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/schematichq/schematic-api/revisions/419cb5147b52/schema)
