---
title: "POST /coupons/coupon/{couponName}/promo-codes"
method: POST
path: "/coupons/coupon/{couponName}/promo-codes"
tags: ["Promo Codes"]
---

# POST /coupons/coupon/{couponName}/promo-codes

`POST /coupons/coupon/{couponName}/promo-codes`

## Request

- The document declares no server URL.
- Auth: none required
- TypeScript: <https://skmtc.dev/appcharge/apis/grant-award/docs/coupons/coupon/:couponName/promo-codes/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates multiple promo codes for a specific coupon. <br/><br/> Maximum of 1,000 promo codes allowed per request.

## Request body

- CreatePromoCodesRequest
  - `promoCodes` CreatePromoCodeInput[], required: List of promo codes to create.
    - `name` string, required: Promo code name. Can't contain spaces or special characters.
    - `maxRedemptions` integer, required: Maximum number of times this promo code can be redeemed.
    - `active` boolean, required: Whether the promo code is active.

## Response `200`

Promo codes created successfully.

- PromoCodesResponse
  - `promoCodes` CreatedPromoCode[]: List of created promo codes.
    - `name` string: Promo code name.
    - `active` boolean: Whether the promo code is active.
    - `maxRedemptions` integer: Maximum number of times this promo code can be redeemed.
    - `createdAt` string, date-time: Timestamp when the promo code was created.
    - `updatedAt` string, date-time: Timestamp when the promo code was last updated.

## Other responses

- `400`: Bad request. Invalid input or validation failure.
- `404`: Coupon not found.
- `409`: Conflict. One or more promo codes already exist and are active on another coupon.
- `500`: Unexpected error.

---

[API](https://skmtc.dev/appcharge/apis/grant-award.md) - [All operations](https://skmtc.dev/appcharge/apis/grant-award/llms.txt) - [OpenAPI document](https://skmtc.dev/appcharge/apis/grant-award/revisions/b4f6759240d5?raw)
