# Create campaign
URL: /docs/api-reference/campaigns/create-campaign
Description: Creates a new campaign in your organization.

**POST** `https://www.promotekit.com/api/v1/campaigns`

Creates a new campaign in your organization.

## Authentication

Requires a Bearer token in the `Authorization` header.

## Request Body

- `name`: string **(required)** - Campaign name (for internal use, affiliates do not see this name)
- `commission_type`: string: `percentage`, `fixed` **(required)** - Whether the campaign gives percentage based or fixed amount commissions
- `commission_amount`: number **(required)** - Percentage or fixed amount commission rate (e.g. 20 would mean 20% or $20)
- `code_mode`: string: `link`, `coupon`, `both` **(required)** - Referral code type. "link" creates affiliate links, "coupon" creates promo codes, "both" creates both.
- `website_url`: string - Campaign website URL. Required when code_mode is "link" or "both".
- `reference_coupon`: string - Stripe coupon ID that's used to create affiliate promo codes. Required when code_mode is "coupon" or "both".
- `is_default`: boolean

## Responses

### 200 - Campaign created

- `success`: boolean **(required)**
- `data`: object **(required)**

### 400 - Invalid request

- `success`: boolean **(required)**
- `error`: object **(required)**

### 401 - Authentication failed

- `success`: boolean **(required)**
- `error`: object **(required)**

### 429 - Rate limit exceeded

- `success`: boolean **(required)**
- `error`: object **(required)**