Create a campaign
POST/campaigns
Create a new outbound calling campaign. By default the campaign launches immediately. Set launch to false to save as a draft for later review.
Body ParametersJSON
assistant_id: string
The ID of the assistant to use
formatuuid
launch: boolean
Whether to launch the campaign immediately. Set to false to save as a draft.
name: string
The name of the campaign
minLength1
from_phone_number: optional string
The phone number to use for outbound calls (E.164 format, e.g., +1234567890)
max_concurrent_calls: optional number
Maximum number of concurrent calls allowed for this campaign
minimum1
Returns
Create a campaign
curl https://www.getrevox.com/api/campaigns \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $REVOX_API_KEY" \
-d '{
"assistant_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"contacts": [
{
"prompt_variables": {
"foo": "string"
},
"to_phone_number": "to_phone_number"
}
],
"launch": true,
"name": "x"
}'{
"campaign": {
"id": "id",
"assistant_id": "assistant_id",
"created_at": {},
"is_cancelled": true,
"name": "name",
"organization_id": "organization_id",
"status": "draft",
"updated_at": {},
"assistant": {
"id": "id",
"after_call_sms_prompt": "after_call_sms_prompt",
"background_sound": "audio/office.ogg",
"calendly": {
"connection_id": "connection_id",
"event_type_id": "event_type_id"
},
"call_retry_config": {
"allowed_days": [
"monday"
],
"calling_windows": [
{
"calling_window_end_time": "calling_window_end_time",
"calling_window_start_time": "calling_window_start_time",
"retry_delay_seconds": 1
}
],
"max_retry_attempts": 1,
"timezone": "timezone"
},
"created_at": {},
"custom_tools": [
{
"body_template": "body_template",
"description": "x",
"headers": [
{
"key": "x",
"value": "value"
}
],
"input_schema": [
{
"name": "x",
"required": true,
"type": "string",
"description": "description",
"enum_options": [
"string"
]
}
],
"method": "GET",
"name": "name",
"query_params": [
{
"key": "x",
"value": "value"
}
],
"url": "x"
}
],
"email_notification_address": "dev@stainless.com",
"email_notification_outcomes": [
"not_interested"
],
"end_of_call_sentence": "end_of_call_sentence",
"first_sentence": "first_sentence",
"first_sentence_delay_ms": -9007199254740991,
"first_sentence_mode": "generated",
"human_transfer_mode": "warm",
"ivr_navigation_enabled": true,
"llm_model": {
"name": "gpt-4.1",
"type": "dedicated-instance"
},
"max_call_duration_secs": 0,
"name": "name",
"organization_id": "organization_id",
"prompt": "prompt",
"sms_enabled": true,
"sms_template": "sms_template",
"structured_output_config": [
{
"name": "x",
"required": true,
"type": "string",
"description": "description",
"enum_options": [
"string"
]
}
],
"structured_output_prompt": "structured_output_prompt",
"transfer_phone_number": "transfer_phone_number",
"updated_at": {},
"voice": {
"id": "x",
"provider": "cartesia",
"speed": 0.6,
"volume": 0.5
},
"voicemail_message": "voicemail_message",
"voicemail_sms_prompt": "voicemail_sms_prompt",
"warm_transfer_summary_instructions": "warm_transfer_summary_instructions",
"webhook_url": "webhook_url",
"faq_items": [
{
"answer": "answer",
"question": "question",
"id": "id",
"needs_human_answer": true,
"source": "human"
}
],
"pending_faq_count": 0
},
"call_retry_config": {
"allowed_days": [
"monday"
],
"calling_windows": [
{
"calling_window_end_time": "calling_window_end_time",
"calling_window_start_time": "calling_window_start_time",
"retry_delay_seconds": 1
}
],
"max_retry_attempts": 1,
"timezone": "timezone"
},
"from_phone_number": "from_phone_number",
"max_concurrent_calls": 0,
"row_stats": {
"calling": 0,
"completed": 0,
"failed": 0,
"pending": 0,
"retry": 0,
"total": 0
},
"scheduled_at": {},
"structured_output_extraction": "none"
}
}Returns Examples
{
"campaign": {
"id": "id",
"assistant_id": "assistant_id",
"created_at": {},
"is_cancelled": true,
"name": "name",
"organization_id": "organization_id",
"status": "draft",
"updated_at": {},
"assistant": {
"id": "id",
"after_call_sms_prompt": "after_call_sms_prompt",
"background_sound": "audio/office.ogg",
"calendly": {
"connection_id": "connection_id",
"event_type_id": "event_type_id"
},
"call_retry_config": {
"allowed_days": [
"monday"
],
"calling_windows": [
{
"calling_window_end_time": "calling_window_end_time",
"calling_window_start_time": "calling_window_start_time",
"retry_delay_seconds": 1
}
],
"max_retry_attempts": 1,
"timezone": "timezone"
},
"created_at": {},
"custom_tools": [
{
"body_template": "body_template",
"description": "x",
"headers": [
{
"key": "x",
"value": "value"
}
],
"input_schema": [
{
"name": "x",
"required": true,
"type": "string",
"description": "description",
"enum_options": [
"string"
]
}
],
"method": "GET",
"name": "name",
"query_params": [
{
"key": "x",
"value": "value"
}
],
"url": "x"
}
],
"email_notification_address": "dev@stainless.com",
"email_notification_outcomes": [
"not_interested"
],
"end_of_call_sentence": "end_of_call_sentence",
"first_sentence": "first_sentence",
"first_sentence_delay_ms": -9007199254740991,
"first_sentence_mode": "generated",
"human_transfer_mode": "warm",
"ivr_navigation_enabled": true,
"llm_model": {
"name": "gpt-4.1",
"type": "dedicated-instance"
},
"max_call_duration_secs": 0,
"name": "name",
"organization_id": "organization_id",
"prompt": "prompt",
"sms_enabled": true,
"sms_template": "sms_template",
"structured_output_config": [
{
"name": "x",
"required": true,
"type": "string",
"description": "description",
"enum_options": [
"string"
]
}
],
"structured_output_prompt": "structured_output_prompt",
"transfer_phone_number": "transfer_phone_number",
"updated_at": {},
"voice": {
"id": "x",
"provider": "cartesia",
"speed": 0.6,
"volume": 0.5
},
"voicemail_message": "voicemail_message",
"voicemail_sms_prompt": "voicemail_sms_prompt",
"warm_transfer_summary_instructions": "warm_transfer_summary_instructions",
"webhook_url": "webhook_url",
"faq_items": [
{
"answer": "answer",
"question": "question",
"id": "id",
"needs_human_answer": true,
"source": "human"
}
],
"pending_faq_count": 0
},
"call_retry_config": {
"allowed_days": [
"monday"
],
"calling_windows": [
{
"calling_window_end_time": "calling_window_end_time",
"calling_window_start_time": "calling_window_start_time",
"retry_delay_seconds": 1
}
],
"max_retry_attempts": 1,
"timezone": "timezone"
},
"from_phone_number": "from_phone_number",
"max_concurrent_calls": 0,
"row_stats": {
"calling": 0,
"completed": 0,
"failed": 0,
"pending": 0,
"retry": 0,
"total": 0
},
"scheduled_at": {},
"structured_output_extraction": "none"
}
}