> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeplo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# POST Create Campaign

> Create a new marketing campaign.

## Create campaign

`POST /api/campaigns`

Create a new bulk messaging campaign.

### Headers

**Cookie** `string` *required*

Session cookie (login via POST /api/auth/login)

```bash cURL theme={null}
curl -X POST https://zeplo.ai/api/campaigns \
  -H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Flash Sale Alert",
    "channelId": "647015955153740",
    "type": "template",
    "templateName": "flash_sale",
    "languageCode": "en",
    "groupIds": [1],
    "scheduledAt": "2026-02-01T10:00:00Z"
  }'
```

### Body parameters

**name** `string` *required*

Campaign name.

**channelId** `string` *required*

WhatsApp channel ID.

**type** `string` *required*

`template` or `text`.

**templateName** `string`

Template name (required if type is `template`).

**languageCode** `string` (default: en)

Template language.

**templateComponents** `array`

Template component parameters.

**contactIds** `integer[]`

Specific contact IDs.

**groupIds** `integer[]`

Contact group IDs.

**message** `string`

Text message body (required if type is `text`).

**scheduledAt** `string`

ISO 8601 datetime for scheduled send.

```json Response theme={null}
{
  "success": true,
  "data": {
    "id": 26,
    "name": "Flash Sale Alert",
    "status": "scheduled",
    "type": "template",
    "totalRecipients": 250,
    "scheduledAt": "2026-02-01T10:00:00Z",
    "createdAt": "2026-01-15T12:00:00Z"
  }
}
```

> [!NOTE]
>
> Requires `campaigns:create` permission and an active subscription.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.