Get up and running with the Vozzo Campaign API in minutes. This guide will walk you through creating your first automated voice call campaign.
Prerequisites
Before you begin, ensure you have:
- A Vozzo account with API access
- Your API key (format:
Token YOUR_SECRET_API_KEY) - An AI agent created and configured in your Vozzo account
- The agent's UUID from the Vozzo platform
- Test phone numbers in E.164 format (e.g.,
+91-xxxxxxxx)
Step 1: Verify Authentication
First, verify your API key is working correctly by checking your user information.
Code
Code
Step 2: Create Your First Campaign
Now let's create a simple campaign with two recipients. Replace the placeholders with your actual values.
Code
Understanding the Request Parameters
| Parameter | Description | Example |
|---|---|---|
| agent_uuid | Your AI agent's unique identifier | 619ec26c-... |
| campaign_name | Human-readable campaign name | "My First Campaign" |
| campaign_start_date | Campaign start date (YYYY-MM-DD) | "2026-01-04" |
| campaign_end_date | Campaign end date (optional) | "2026-01-10" |
| campaign_start_time | Daily start hour (00-23) | "09" (9 AM) |
| campaign_end_time | Daily end hour (00-23) | "18" (6 PM) |
| campaign_allow_weekends | Allow calls on Sat/Sun | false |
| campaign_max_retry | Max total retry attempts (1-5) | 3 |
| campaign_max_retry_per_day | Max daily retries (1-5, optional) | 1 |
Campaign Data Structure
Each recipient in campaign_data requires:
Code
- to_phone_number: Phone number in E.164 format with country code
- agent_language: Language code (EN, HI, BN, TA, TE, MR, etc.)
- metadata: JSON string containing personalization data for the AI agent
Expected Response
Code
Success! Save the campaign_id for monitoring and management.
Step 3: Monitor Your Campaign
Check Campaign Status
Code
View Scheduled Calls
Code
Get Campaign Analytics
Code
Step 4: Start Your Campaign
When you're ready to begin calling, update the campaign status to RUNNING.
Code
Campaign States
Campaign created but not yet active
Campaign actively processing calls
Campaign temporarily paused
Campaign completed or terminated
How To Integrate API's
Create Campaign
Endpoint
POST {{baseUrl}}/v1alpha/campaignCreate a new outbound calling campaign with scheduling rules, retry logic, and campaign-specific call data.
Headers
Authorization
^Token
YOUR_SECRET_API_KEY · requiredYour secret API key from Vozzo platform formatted as Token YOUR_SECRET_API_KEY
| Field | Type | Required | Description |
|---|---|---|---|
| agent_uuid | string (uuid) | Yes | Unique identifier of the AI agent that will handle the calls. The agent must be created and configured in Vozzo before campaign creation. |
| campaign_name | string | Yes | Human-readable name for the campaign used for identification and reporting. |
| campaign_start_date | string (YYYY-MM-DD) | Yes | Start date for the campaign. Must be today or a future date. |
| campaign_end_date | string (YYYY-MM-DD) | No | Optional end date for the campaign. If not provided, the campaign runs indefinitely. |
| campaign_start_time | string (00–23) | Yes | Campaign start hour in 24-hour format. Defines the earliest hour calls can be made. |
| campaign_end_time | string (00–23) | Yes | Campaign end hour in 24-hour format. Must be after |
| campaign_allow_weekends | boolean | Yes | Whether calls are allowed on Saturdays and Sundays. |
| campaign_max_retry | integer (1–5) | Yes | Maximum total retry attempts per recipient, including the initial call. |
| campaign_max_retry_per_day | integer (1–5) | No | Optional maximum retry attempts per recipient per day. If not set, total retry limit is used. |
| campaign_data | object[] | Yes | List of recipients and call-specific parameters. Supports bulk operations with thousands of recipients. |
curl --request POST \
--url https://backend.vozzo.ai/v1alpha/campaign \
--header 'Authorization: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{ "agent_uuid": "619ec26c-4957-4926-70f8-fe7391b3527e", "campaign_name": "Winter Promotion 2024", "campaign_start_date": "2024-12-01", "campaign_end_date": "2024-12-31", "campaign_start_time": "09", "campaign_end_time": "18", "campaign_allow_weekends": false, "campaign_max_retry": 3, "campaign_max_retry_per_day": 1, "campaign_data": [{ "to_phone_number": "+911234567890", "agent_language": "EN", "metadata": "{\"customer_name\":\"John Doe\"}" }] }'Example Request Body
Code
Update Campaign
Endpoint
POST {{baseUrl}}/v1alpha/campaign/update-campaign/{campaign_id}/
Update an existing campaign's configuration, schedule, and settings. Allows modifying campaign status, dates, time slots, retry options, and other operational parameters while preserving campaign data.
Headers
Authorization
^Token
YOUR_SECRET_API_KEY · requiredYour secret API key from Vozzo platform formatted as Token YOUR_SECRET_API_KEY
Path Parameters
campaign_id
stringuuidrequiredUnique identifier of the campaign to update
Query Parameters
campaign_allow_weekends
booleanrequiredWhether to allow calls on weekends
campaign_status
string · enumCampaign status to update
Enum values: TO_START, RUNNING, SUSPENDED, ENDED
campaign_start_date
string · dateUpdated start date in YYYY-MM-DD format
campaign_end_date
string · dateUpdated end date for the campaign (optional)
campaign_max_retry
integer · min: 1 · max: 5
Maximum total retry attempts (1–5)
campaign_max_retry_per_day
integer · min: 1 · max: 5
Maximum retry attempts per day (1–5)
campaign_start_time
string · timeStart time in 24-hour format (00–23)
campaign_end_time
string · timeEnd time in 24-hour format (00–23)
curl --request POST \
--url "https://backend.vozzo.ai/v1alpha/campaign/update-campaign/5804a5e5-97fd-4dc4-8d0d-87895734af7d?campaign_status=SUSPENDED&campaign_start_date=2026-01-01&campaign_end_date=2026-01-14&campaign_start_time=09&campaign_end_time=18&campaign_max_retry=4&campaign_max_retry_per_day=2&campaign_allow_weekends=false" \
--header "Authorization: Token YOUR_SECRET_API_KEY"Example Request
{
"success": true,
"message": "Campaign updated successfully",
"data": {
"campaign_id": "c5785fa5-8bdd-4629-b7ef-1addfc4b44a5",
"org_id": 1,
"campaign_state": "SUSPENDED",
"campaign_start_date": "2026-01-01",
"campaign_end_date": "2026-01-14",
"campaign_config": {
"campaign_name": "TEST",
"retry_options": {
"max_calls_total": 4,
"max_calls_in_a_day": 4,
"retry_delay": 60
},
"metadata": {},
"timeslot_settings": {
"timezone": "IST",
"allow_on_weekends": false,
"start_time": "09",
"end_time": "18"
},
"preferred_timeslot": "ANYDAY",
"encrypted_data": false,
"internal_auth": false,
"org_id": null,
"post_call_action": null
},
"updated_at": "2025-12-26T12:51:40.253482+00:00"
}
}Get Campaigns List
Endpoint
GET {{baseUrl}}/v1alpha/campaigns
Retrieve a paginated list of all campaigns for the authenticated user. This endpoint provides a high-level overview of campaigns including their current state and basic information.
Headers
Authorization
^Token
YOUR_SECRET_API_KEY · requiredYour secret API key from Vozzo platform formatted as Token YOUR_SECRET_API_KEY
Query Parameters
limit
integer · min: 1 · max: 100 · default: 20
Number of campaigns to return per page.
offset
integer · min: 0 · default: 0
Number of campaigns to skip for pagination.
state
string · enumFilter campaigns by their current lifecycle state.
Example values: TO_START, RUNNING, SUSPENDED, COMPLETED, ENDED
curl --request GET \
--url "https://backend.vozzo.ai/v1alpha/campaigns?limit=20&offset=0&state=RUNNING" \
--header "Authorization: Token YOUR_SECRET_API_KEY"Example Response
{
"campaigns": [
{
"campaign_id": "550e8400-e29b-41d4-a716-446655440000",
"campaign_name": "Summer Promotion",
"campaign_state": "RUNNING",
"agent_id": "660e8400-e29b-41d4-a716-446655440000",
"created_at": "2024-01-15T10:30:00Z",
"total_records": 150,
"processed_records": 75
}
],
"total": 5,
"limit": 20,
"offset": 0
}Get Campaign Details
Endpoint
GET {{baseUrl}}/v1alpha/campaign/{campaign_id}
Retrieve comprehensive information about a specific campaign including configuration, statistics, and current status. Use this endpoint for detailed campaign analysis and monitoring.
Headers
Authorization
^Token
YOUR_SECRET_API_KEY · requiredYour secret API key from Vozzo platform formatted as Token YOUR_SECRET_API_KEY
Path Parameters
campaign_id
string · uuidrequiredUnique identifier of the campaign. Obtain this from the campaign creation response or campaigns list endpoint.
curl --request GET \
--url "https://backend.vozzo.ai/v1alpha/campaign/550e8400-e29b-41d4-a716-446655440000" \
--header "Authorization: Token YOUR_SECRET_API_KEY"Example Response
Code
Get Campaign Analytics
Endpoint
GET {{baseUrl}}/v1alpha/campaigns/analytics/{campaign_id}
Retrieve detailed analytics and metrics for a specific campaign including category breakdowns, goal achievements, success criteria, and tagging information.
Headers
Authorization
^Token
YOUR_SECRET_API_KEY · requiredYour secret API key from Vozzo platform formatted as Token YOUR_SECRET_API_KEY
Path Parameters
campaign_id
string · uuidrequiredUnique identifier of the campaign to get analytics for.
curl --request GET \
--url "https://backend.vozzo.ai/v1alpha/campaigns/analytics/5804a5e5-97fd-4dc-8d0d-87895734af7d" \
--header "Authorization: Token YOUR_SECRET_API_KEY"Responses
200 OK
Returns campaign analytics data.
401 Unauthorized
Invalid or missing authentication token.
404 Not Found
Campaign not found.
Example Response
Code
Get Campaigns By Agent
Endpoint
GET {{baseUrl}}/v1alpha/campaigns/agent/{agent_uuid}
Retrieve a paginated list of campaigns managed by a specific agent, including campaign configuration, statistics, and performance metrics.
Headers
Authorization
^Token
YOUR_SECRET_API_KEY · requiredYour secret API key from Vozzo platform formatted as Token YOUR_SECRET_API_KEY
Path Parameters
agent_uuid
string · uuidrequiredUnique identifier of the agent to retrieve campaigns for.
Query Parameters
page
integer · min: 1 · default: 1
Page number for pagination (1-based).
page_size
integer · min: 1 · max: 100 · default: 10
Number of campaigns per page.
curl --request GET \
--url "https://backend.vozzo.ai/v1alpha/campaigns/agent/32f9e6e3-b535-4d2e-959d-c94cfd456a23" \
--header "Authorization: Token YOUR_SECRET_API_KEY"Responses
200 OK
Returns a list of campaigns managed by the agent.
401 Unauthorized
Invalid or missing authentication token.
404 Not Found
Agent not found or no campaigns available.
Example Response
Code
Get Campaigns Count By Agent
Endpoint
GET {{baseUrl}}/v1alpha/campaigns/agent/{agent_uuid}/count
Retrieve counts of campaigns for a specific agent, including total campaigns, active campaigns, and completed campaigns.
Headers
Authorization
^Token
YOUR_SECRET_API_KEY · requiredYour secret API key from Vozzo platform formatted as Token YOUR_SECRET_API_KEY
Path Parameters
agent_uuid
string · uuidrequiredUnique identifier of the agent to get campaign counts for.
curl --request GET \
--url "https://backend.vozzo.ai/v1alpha/campaigns/agent/32f9e6e3-b535-4d2e-959d-c94cfd456a23/count" \
--header "Authorization: Token YOUR_SECRET_API_KEY"Responses
200 OK
Returns campaign counts for the agent.
401 Unauthorized
Invalid or missing authentication token.
404 Not Found
Agent not found.
Example Response
Code
Get Scheduled Calls
Endpoint
GET {{baseUrl}}/v1alpha/campaign/{campaign_id}/items
Retrieve all scheduled calls for a specific campaign with pagination. This endpoint provides visibility into individual call attempts, their status, and detailed call information.
Headers
Authorization
^Token
YOUR_SECRET_API_KEY · requiredYour secret API key from Vozzo platform formatted as Token YOUR_SECRET_API_KEY
Path Parameters
Unique identifier of the campaign. Must be an active campaign that you have access to.
Query Parameters
Page number for pagination (1-based).
Number of call records to return per page.
curl --request GET \
--url "https://backend.vozzo.ai/v1alpha/campaign/5804a5e5-97fd-4dc-8d0d-87895734af7d/items" \
--header "Authorization: Token YOUR_SECRET_API_KEY"Responses
200 OK
Returns a list of scheduled calls for the campaign.
401 Unauthorized
Invalid or missing authentication token.
404 Not Found
Campaign not found or you don’t have access to this campaign.
422 Validation Error
Invalid parameters (e.g., UUID format).
Example Response
Code
Get Scheduled Call Details
Endpoint
GET {{baseUrl}}/v1alpha/campaign/{campaign_id}/item/{scheduled_item_id}
Retrieve comprehensive information about a specific scheduled call including call logs, attempt history, and detailed results. Use this for detailed call analysis and troubleshooting.
Headers
Authorization
^Token
YOUR_SECRET_API_KEY · requiredYour secret API key from Vozzo platform formatted as Token YOUR_SECRET_API_KEY
Path Parameters
Unique identifier of the campaign containing the scheduled call.
Unique identifier of the specific scheduled call item.
curl --request GET \
--url "https://backend.vozzo.ai/v1alpha/campaign/550e8400-e29b-41d4-a716-446655440000/item/770e8400-e29b-41d4-a716-446655440000" \
--header "Authorization: Token YOUR_SECRET_API_KEY"Responses
200 OK
Returns detailed information for the requested scheduled call.
401 Unauthorized
Invalid or missing authentication token.
404 Not Found
Scheduled call not found or item does not exist in the campaign.
422 Validation Error
Invalid UUID format for path parameters.
Example Response
Code
Common Pitfalls & Solutions
Invalid or expired authentication token
Solution: Ensure your API key is formatted correctly
as
Token YOUR_SECRET_API_KEY
(with the "Token" prefix).
Agent not found
Solution: Verify your agent UUID exists in the Vozzo platform and you have access to it.
Invalid phone number format
Solution: Use E.164 format with country code:
+[country_code][number] (e.g +911234567890)
Invalid date format
Solution: YYYY-MM-DD format (e.g. 2026-01-04)
Metadata must be a valid JSON string
Solution: Ensure metadata is a JSON string, not an object.
"{"key":"value"}"{"key":"value"}Best Practices
Start Small
Begin with 2-5 test recipients before scaling to hundreds or thousands
Use Descriptive Names
Name campaigns clearly: "Q1_2026_Product_Launch" instead of "Campaign_1"
Set Realistic Time Windows
Consider recipient timezones and avoid early morning or late evening calls
Implement Error Handling
Always check response status codes and handle errors gracefully
Monitor Performance
Regularly check analytics to optimize retry settings and calling windows
Respect Privacy
Only call numbers with proper consent and follow local regulations
Next Steps
Support
Need help? We're here for you:
- Email:support@vozzo.ai
- Community Forum:Join discussions with other developers
- Documentation:Comprehensive guides and examples
- Issue Tracker:Report bugs and request features
