---
title: "Cria uma campanha em massa"
method: POST
path: "/v1/campaigns"
tags: ["campaigns"]
---

# Cria uma campanha em massa

`POST /v1/campaigns`

Requer plano PRO+ e número dedicado atrelado à organização. Header
`Idempotency-Key` é obrigatório — mesmo header em retries retorna a
mesma campanha.

## Headers

- `Idempotency-Key` string, required

## Request body

- CampaignRequest
  - `name` string, required
  - `templateName` string, required
  - `sender` string, nullable
  - `contacts` CampaignContactRequest[], required
    - `to` string, required — Telefone E.164.
    - `variables` string[]

## Response `200`

Campanha criada

- CampaignResponse
  - `id` string, uuid, required
  - `name` string, required
  - `status` string, required
  - `totalMessages` integer, required
  - `totalCost` number, float, required

## Other responses

- `400` — Payload inválido
- `401` — Token ausente ou inválido
- `403` — Sem permissão (plano, escopo, status da conta)
- `409` — Conflito de estado

## Changes

- **2026-05-25** `4e426b85f784` — 2 breaking, 4 warning, 12 info
  - the `contacts` request property's minItems was increased to `1`
  - the `totalCost` response's property format changed from `decimal` to `float` for status `200`
  - removed the optional property `failedMessages` from the response with the `200` status
  - removed the optional property `internalId` from the response with the `200` status
  - …14 more

[Change history](https://skmtc.dev/ararahq/apis/ararahq-api/changes/v1/campaigns/post.md)

---

[API](https://skmtc.dev/ararahq/apis/ararahq-api.md) · [All operations](https://skmtc.dev/ararahq/apis/ararahq-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ararahq/ararahq-api/revisions/174c89e36a13/schema)
