---
title: "Create campaign"
method: POST
path: "/campaigns"
tags: ["Campaigns & Bulk Dispatch"]
---

# Create campaign

`POST /campaigns`

## Request

- Base URL: `https://api.envoisms.ma/v1`
- URL: `https://api.envoisms.ma/v1/campaigns`
- Auth: HTTP bearer

## Request body

- object
  - `name` string, required
  - `channel` 'sms' | 'whatsapp' | 'telegram' | 'voice' | 'rcs'
  - `list_id` string
  - `template_id` string
  - `body` string
  - `sender_id` string
  - `scheduled_at` string, date-time
  - `buttons` MessageButton[]: Optional WhatsApp interactive buttons (max 3). Only supported on the whatsapp channel.
    - `type` 'copy' | 'url' | 'call', required: Button action type
    - `text` string, required: Button text label
    - `copy_code` string: Value to copy (only for copy type)
    - `url` string: Target URL (only for url type). Must start with http:// or https://
    - `phone_number` string: Target phone number (only for call type) in E.164 format
  - `metadata` object: Custom metadata (e.g. throttling options: { throttling: '50_min' })

## Response `201`

Campaign created

---

[API](https://skmtc.dev/envoisms/apis/envoisms-ma-api.md) · [All operations](https://skmtc.dev/envoisms/apis/envoisms-ma-api/llms.txt) · [OpenAPI document](https://skmtc.dev/envoisms/apis/envoisms-ma-api/revisions/662db074bd86?raw)
