---
title: "Start Campaign (Number Pool)"
method: POST
path: "/campaign/v2/start"
tags: ["campaign"]
---

# Start Campaign (Number Pool)

`POST /campaign/v2/start`

Initiates a new campaign using a managed number pool for outbound calls. Numbers are resolved automatically from the pool (rotation, spam skipping, auto-purchase).

## Headers

- `X-API-KEY` string, required

## Request body

- object
  - `agent_id` string, required — (Required) ID of the agent that will handle the calls.
  - `list_id` string, required — (Required) ID of the uploaded campaign contact list.
  - `number_pool_id` string, required — (Required) ID of the managed number pool to use for outbound calls.
  - `callback_url` string, nullable — URL to receive campaign completion webhook.
  - `email_completion_user_ids` string[], nullable — User IDs to notify by email when the campaign completes.

## Response `200`

Campaign started successfully.

- object
  - `status` string — Success message indicating campaign registration.
  - `has_ongoing_calls` boolean — Whether the workspace has other ongoing calls.

## Other responses

- `400` — Bad Request - Invalid input.
- `401` — Unauthorized - Invalid or missing authentication.
- `500` — Internal Server Error.

---

[API](https://skmtc.dev/ringg/apis/ringg-ai-api-documentation.md) · [All operations](https://skmtc.dev/ringg/apis/ringg-ai-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ringg/ringg-ai-api-documentation/revisions/00b614a7714c/schema)
