---
title: "Start a campaign"
method: POST
path: "/campaigns/{id}/start"
tags: ["Campaigns"]
---

# Start a campaign

`POST /campaigns/{id}/start`

## Request

- Base URL: `https://warmysender.com/api/v1`
- URL: `https://warmysender.com/api/v1/campaigns/{id}/start`
- Auth: HTTP bearer

Moves a draft/paused campaign into running (or scheduled, when startDate is in the future). A completed campaign starts again only when new prospects have been enrolled in it (otherwise 400 nothing_new_to_send). No request body. Before starting, the campaign runs the same configuration check as the Launch button in the app — sequences that would strand prospects mid-flow are rejected with 400 campaign_validation_failed and the offending steps listed.

Required scope: `campaigns:write`.

## Path parameters

- `id` string, required

## Query parameters

- `force` '1' | 'true'

## Response `200`

Success

## Other responses

- `400`: `invalid_status` — Campaign can't be started from its current status.; `nothing_new_to_send` — The campaign is completed and nobody new has been enrolled in it. Enroll prospects who aren't already in it (that reopens it), or start another campaign.; `campaign_validation_failed` — The sequence has configuration problems that would strand prospects. details.violations lists each one with its step index and a fix hint. Resolve them, or retry with ?force=1. Note that not every violation is force-overridable — see no_active_steps below.; `no_active_steps` — Every step in the campaign is switched off, so it could never send anything. Switch at least one step back on, then start it again. This one is NOT overridable with ?force=1 — forcing it would only start a campaign that cannot send.
- `401`: `unauthorized` — Missing or invalid API key.
- `403`: `subscription_blocked` — Your plan doesn't allow this action.; `insufficient_scope` — The campaign runs Instagram or WhatsApp steps and this key lacks that channel's write permission. Nothing was started.; `seat_required` — The campaign runs Instagram or WhatsApp steps and the workspace has no active seat for that channel.
- `404`: `not_found` — Campaign not found.
- `422`: `account_not_connected` — The Instagram account or WhatsApp number this campaign sends from is not connected. Reconnect it, then start again.
- `429`: `rate_limited` — Too many Instagram/WhatsApp campaign changes in one minute. Nothing was changed — wait for the Retry-After delay.

---

[API](https://skmtc.dev/warmysender/apis/warmysender-public-api.md) · [All operations](https://skmtc.dev/warmysender/apis/warmysender-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/warmysender/apis/warmysender-public-api/revisions/eb5c7f10a1cd?raw)
