--- 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**.