curl -X POST https://api.rapidcall.ai/api/outbound/jobs \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agentId": "agent_9k2m4n6p",
"phoneNumberId": "pn_3x7y9z",
"name": "Q2 Lead Follow-Up",
"contacts": [
{
"to": "+14155551234",
"dynamicVariables": {
"name": "John Smith",
"company": "Acme Corp",
"plan": "Enterprise"
}
},
{
"to": "+14155555678",
"dynamicVariables": {
"name": "Jane Doe",
"company": "Globex Inc",
"plan": "Growth"
}
}
],
"settings": {
"maxConcurrent": 2,
"retryAttempts": 1,
"scheduling": {
"startAt": "2026-04-03T09:00:00Z",
"timezone": "America/New_York"
}
}
}'
{
"job": {
"id": "job_4a5b6c7d",
"name": "Q2 Lead Follow-Up",
"agentId": "agent_9k2m4n6p",
"phoneNumberId": "pn_3x7y9z",
"status": "scheduled",
"totalContacts": 2,
"completedContacts": 0,
"failedContacts": 0,
"settings": {
"maxConcurrent": 2,
"retryAttempts": 1,
"scheduling": {
"startAt": "2026-04-03T09:00:00Z",
"timezone": "America/New_York"
}
},
"createdAt": "2026-04-02T18:30:00Z"
}
}
Outbound Campaigns
Create Outbound Job
Create a new outbound calling job with a list of contacts and campaign settings.
POST
/
api
/
outbound
/
jobs
curl -X POST https://api.rapidcall.ai/api/outbound/jobs \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agentId": "agent_9k2m4n6p",
"phoneNumberId": "pn_3x7y9z",
"name": "Q2 Lead Follow-Up",
"contacts": [
{
"to": "+14155551234",
"dynamicVariables": {
"name": "John Smith",
"company": "Acme Corp",
"plan": "Enterprise"
}
},
{
"to": "+14155555678",
"dynamicVariables": {
"name": "Jane Doe",
"company": "Globex Inc",
"plan": "Growth"
}
}
],
"settings": {
"maxConcurrent": 2,
"retryAttempts": 1,
"scheduling": {
"startAt": "2026-04-03T09:00:00Z",
"timezone": "America/New_York"
}
}
}'
{
"job": {
"id": "job_4a5b6c7d",
"name": "Q2 Lead Follow-Up",
"agentId": "agent_9k2m4n6p",
"phoneNumberId": "pn_3x7y9z",
"status": "scheduled",
"totalContacts": 2,
"completedContacts": 0,
"failedContacts": 0,
"settings": {
"maxConcurrent": 2,
"retryAttempts": 1,
"scheduling": {
"startAt": "2026-04-03T09:00:00Z",
"timezone": "America/New_York"
}
},
"createdAt": "2026-04-02T18:30:00Z"
}
}
Creates an outbound calling campaign. The system queues calls to each contact and dispatches them according to your concurrency and scheduling settings. Each contact can include dynamic variables that get injected into the agent’s prompt.
string
required
The ID of the agent to use for outbound calls.
string
required
The ID of the phone number to use as the caller ID. Must be a number owned by your workspace.
string
A friendly name for this outbound job.
array
required
List of contacts to call. Each contact must include a phone number and can optionally include dynamic variables.
object
Campaign execution settings.
Show Settings object
Show Settings object
integer
Maximum number of simultaneous outbound calls. Default:
1. Max: 10.integer
Number of retry attempts for unanswered calls. Default:
0. Max: 3.curl -X POST https://api.rapidcall.ai/api/outbound/jobs \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agentId": "agent_9k2m4n6p",
"phoneNumberId": "pn_3x7y9z",
"name": "Q2 Lead Follow-Up",
"contacts": [
{
"to": "+14155551234",
"dynamicVariables": {
"name": "John Smith",
"company": "Acme Corp",
"plan": "Enterprise"
}
},
{
"to": "+14155555678",
"dynamicVariables": {
"name": "Jane Doe",
"company": "Globex Inc",
"plan": "Growth"
}
}
],
"settings": {
"maxConcurrent": 2,
"retryAttempts": 1,
"scheduling": {
"startAt": "2026-04-03T09:00:00Z",
"timezone": "America/New_York"
}
}
}'
{
"job": {
"id": "job_4a5b6c7d",
"name": "Q2 Lead Follow-Up",
"agentId": "agent_9k2m4n6p",
"phoneNumberId": "pn_3x7y9z",
"status": "scheduled",
"totalContacts": 2,
"completedContacts": 0,
"failedContacts": 0,
"settings": {
"maxConcurrent": 2,
"retryAttempts": 1,
"scheduling": {
"startAt": "2026-04-03T09:00:00Z",
"timezone": "America/New_York"
}
},
"createdAt": "2026-04-02T18:30:00Z"
}
}
