---
title: "Create a coupon"
method: POST
path: "/admin/coupons"
tags: ["Admin"]
---

# Create a coupon

`POST /admin/coupons`

## Request

- Base URL: `https://api.presscart.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.presscart.com/admin/coupons`
- Auth: HTTP bearer

Create a new coupon with Stripe sync.

## Request body

- object
  - `code` string, required
  - `name` string, required
  - `description` string, nullable, required
  - `discount_type` 'percent_off' | 'amount_off', required
  - `discount_value` number, nullable, required
  - `max_redemptions` integer, nullable, required
  - `max_redemptions_per_team` integer, nullable, required
  - `valid_from` union, required
    - string, nullable
    - string
    - unknown
  - `valid_until` union, required
    - string, nullable
    - string
    - unknown
  - `minimum_order_amount` number, nullable, required

## Response `201`

Coupon created successfully

- Coupon
  - `id` string, uuid, required
  - `code` string, required
  - `name` string, required
  - `description` string, nullable, required
  - `discount_type` 'percent_off' | 'amount_off', required
  - `discount_value` number, nullable, required
  - `max_redemptions` integer, nullable, required
  - `max_redemptions_per_team` integer, nullable, required
  - `redemption_count` integer, nullable, required
  - `valid_from` union, required
    - string, nullable
    - string
    - unknown
  - `valid_until` union, required
    - string, nullable
    - string
    - unknown
  - `minimum_order_amount` number, nullable, required
  - `active` boolean, required
  - `stripe_coupon_id` string, nullable, required
  - `stripe_promotion_code_id` string, nullable, required
  - `created_by` string, uuid, nullable, required
  - `created_at` union, required
    - string, nullable
    - string
    - unknown
  - `updated_at` union, required
    - string, nullable
    - string
    - unknown
  - `deleted_at` union, required
    - string, nullable
    - string
    - unknown

## Other responses

- `400`: A coupon with this code already exists

---

[API](https://skmtc.dev/presscart/apis/presscart-prod-api.md) · [All operations](https://skmtc.dev/presscart/apis/presscart-prod-api/llms.txt) · [OpenAPI document](https://skmtc.dev/presscart/apis/presscart-prod-api/revisions/2154581d845e?raw)
