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

# Start or resume a campaign

`POST /campaign/{id}/start`

Queues the campaign for processing and returns immediately — the campaign is **not** yet
running when the 202 is returned. Poll `GET /campaign/{id}` and watch for `status: "running"`.

This endpoint also acts as a **resume** endpoint: if the campaign is currently paused,
calling this endpoint resumes it (`status` transitions from `paused` → `running`).

## Path parameters

- `id` string, required

## Response `202`

Campaign queued for processing

- object
  - `status` boolean
  - `data` object
    - `message` string
    - `taskId` string — Internal task identifier for the queued job
    - `campaignId` string — The ID of the campaign

## Other responses

- `400` — Invalid input
- `401` — Unauthorized access
- `404` — Campaign not found
- `500` — Internal server error

## Changes

> 49 revisions in range; 34 could not be searched.

- **2026-05-26** `d0c211a56a23` — 1 breaking, 2 info
  - removed the success response with the status `201`
  - added the non-success response with the status `404`
  - added the success response with the status `202`

[Change history](https://skmtc.dev/smallest-inc/apis/agent-management-api/changes/campaign/:id/start/post.md)

---

[API](https://skmtc.dev/smallest-inc/apis/agent-management-api.md) · [All operations](https://skmtc.dev/smallest-inc/apis/agent-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/smallest-inc/agent-management-api/revisions/274a178284a4/schema)
