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

# Start a campaign

`POST /campaigns/{campaign_id}/start`

Start a campaign, transitioning it from DRAFT to RUNNING.

    Prerequisites checked by the service:
    - The campaign must have contacts assigned
    - The campaign must have at least one verified caller ID configured
    - AI-based strategies require an agent to be assigned
    - Human strategies require operators to be assigned and online
    - The organization wallet must have sufficient balance

    Returns the campaign ID and new status on success.
    Validation failures (missing contacts, missing caller IDs, invalid state
    transition, insufficient balance, etc.) are returned as 400 errors with
    the service message.

    Authentication:
    - API key with READ_WRITE permission AND the outbound-call entitlement
      (starting a campaign places outbound calls)

## Path parameters

- `campaign_id` string, uuid, required

## Response `200`

Campaign started successfully

- unknown

## Other responses

- `400` — Invalid request data
- `401` — Invalid or missing API key
- `403` — Insufficient permissions
- `404` — Resource not found

---

[API](https://skmtc.net/yourang/apis/yourang-ai-external-api-v1.md) · [All operations](https://skmtc.net/yourang/apis/yourang-ai-external-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/yourang/yourang-ai-external-api-v1/revisions/49680ee64400/schema)
