# Create a campaign

> Requires X-Project-Id. Creates a campaign in draft status with one empty email step seeded automatically (edit or replace it via Steps). The project's healthy…

Source: https://warmerly.com/docs/campaigns/create-a-campaign

```text
POST /campaigns
```

Requires `X-Project-Id`. Creates a campaign in `draft` status with one empty email step seeded automatically (edit or replace it via [Steps](https://warmerly.com/docs/campaigns/create-a-campaign#steps)). The project's healthy mailboxes that can send campaigns are attached as senders automatically.

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `name` | string (1-200 chars) | yes |  |
| `timezone` | string | no | IANA timezone string, default `"UTC"` |
| `dailyLimit` | integer (1-50000) | no | Default `30` |
| `assignedToUserId` | UUID or `null` | no | Must be a member of the campaign's workspace |
| `targetReplies` | integer (0-1000000) or `null` | no | Optional goal shown against live stats |
| `targetLeads` | integer (0-1000000) or `null` | no | Optional goal shown against live stats |

```bash
curl -X POST https://app.warmerly.com/api/v1/campaigns \
  -H "X-Api-Key: wmv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "X-Project-Id: 8f14e45f-ceea-4c6a-8c8d-6b1a5b5c9c1a" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Q3 outbound - agencies", "dailyLimit": 50 }'
```

```json
{ "campaign": { "id": "b6a1e7b0-2f2b-4b7a-8e2a-1a2b3c4d5e6f", "name": "Q3 outbound - agencies", "status": "draft", "...": "..." } }
```

Returns `201`. Creating a campaign requires your plan to include the email channel; otherwise returns `403 channel_not_included`. An invalid body returns `400 bad_request` (`invalid_body`).

## More from Campaigns

- [List campaigns](https://warmerly.com/docs/campaigns/list-campaigns): Requires X-Project-Id. Returns every campaign in the project with live counters joined in (lead/email…
- [Get a campaign](https://warmerly.com/docs/campaigns/get-a-campaign): Returns 404 notfound if the campaign doesn't exist and 403 forbidden if it belongs to a workspace you are…
- [Update a campaign](https://warmerly.com/docs/campaigns/update-a-campaign): All fields optional: send only what you want to change.
