---
title: "Create Code"
method: POST
path: "/admin/affiliates/{affiliate_id}/code"
tags: ["admin"]
---

# Create Code

`POST /admin/affiliates/{affiliate_id}/code`

## Request

- Base URL: `https://api.framesail.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.framesail.com/admin/affiliates/{affiliate_id}/code`
- Auth: HTTP bearer

Create the Stripe Coupon + Promotion Code for this affiliate. The admin
controls every parameter (code string, percent/amount, duration, max
redemptions, expiry).

## Path parameters

- `affiliate_id` string, required

## Request body

- CreateCodeRequest: Full admin control over the Stripe code. Provide exactly one of percent_off / amount_off_cents.
  - `code` string, required
  - `percent_off` integer, nullable
  - `amount_off_cents` integer, nullable
  - `currency` string, nullable
  - `duration` string
  - `duration_in_months` integer, nullable
  - `max_redemptions` integer, nullable
  - `redeem_by` string, nullable
  - `first_time_only` boolean

## Response `200`

Successful Response

- Affiliate
  - `id` string, required
  - `name` string, required
  - `handle` string, nullable
  - `main_platform` string, nullable
  - `outreach_platform` string, nullable
  - `contact_left` string, nullable
  - `status` string, required
  - `notes` string, nullable
  - `email` string, nullable
  - `payout_method` string, nullable
  - `payout_handle` string, nullable
  - `country` string, nullable
  - `stripe_coupon_id` string, nullable
  - `stripe_promotion_code_id` string, nullable
  - `promo_code` string, nullable
  - `code_aliases` string[]
  - `code_percent_off` integer, nullable
  - `code_amount_off_cents` integer, nullable
  - `code_currency` string, nullable
  - `code_duration` string, nullable
  - `code_duration_in_months` integer, nullable
  - `code_max_redemptions` integer, nullable
  - `code_first_time_only` boolean, nullable
  - `code_redeem_by` string, nullable
  - `code_created_at` string, nullable
  - `code_active` boolean, nullable
  - `redemption_count` integer
  - `first_redeemed_at` string, nullable
  - `last_redeemed_at` string, nullable
  - `created_at` string, required
  - `updated_at` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/framesail/apis/framesail-api.md) · [All operations](https://skmtc.dev/framesail/apis/framesail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/framesail/apis/framesail-api/revisions/12602eae0820?raw)
