---
title: Campaigns API
description: Create multipart campaigns, inspect stats, and pause or resume calling.
---
import Endpoint from '../../../components/Endpoint.astro';
Creation uses `multipart/form-data`.
| Field | Required | Notes |
| --- | --- | --- |
| `name` | Yes | Campaign name |
| `agent_id` | Yes | Agent used for calls |
| `contact_file` | Yes | Uploaded audience file |
| `retries` | Yes | Retry policy |
| `phone_number_ids` | No | JSON array, maximum 10 |
| `rotation_strategy` | No | `smart`, `round_robin`, or `sequential` |
| `scheduled_at` / `timezone` | No | Scheduled launch |
| `custom_first_line` | No | Campaign-specific opening |
```bash
curl -X POST https://api.vaniagent.com/api/developer/v1/campaigns \
-H "X-API-Key: $VANIAGENT_API_KEY" \
-F "name=August qualification" \
-F "agent_id=agent_id_here" \
-F "retries=2" \
-F 'phone_number_ids=["number_id_here"]' \
-F "rotation_strategy=smart" \
-F "contact_file=@contacts.csv"
```
The operational lifecycle is `draft`, `scheduled`, `active`, `paused`, and `completed`. Campaign-contact attempt states are documented separately under **Campaign types and statuses**.