Campaigns

Bulk outbound calling over a list of recipients.

List campaigns

GET/campaigns
GET /campaigns
curl -X GET "https://api.rabbitt.ai/api/v1/campaigns" \
  -H "Authorization: Bearer rb_live_xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Query parameters

statusstringoptional
agentIdstringoptional
pageintegeroptional

default: 1 · min 1

limitintegeroptional

default: 25 · 1–100

Responses

200A paginated list of campaigns
400Invalid request
401Missing or invalid API key
403The key lacks the required scope
404Resource not found
429Rate limit exceeded
Response body - 200
objectstring
dataTypestring
dataobject[]
paginationobject

Create a campaign

POST/campaigns

Campaigns start in `draft`. Add recipients, then call `POST /campaigns/{id}/launch`.

POST /campaigns
curl -X POST "https://api.rabbitt.ai/api/v1/campaigns" \
  -H "Authorization: Bearer rb_live_xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Asha Menon",
    "agentId": "507f1f77bcf86cd799439011"
  }'

Body parameters

namestringrequired

max length 200

descriptionstringoptional

max length 1000

agentIdstringrequired
timezonestringoptional

max length 64

settingsobjectoptional
retryLimitintegeroptional

1–5

retryDelayMinutesintegeroptional

1–10080

concurrencyintegeroptional

1–25

Responses

201The created campaign
400Invalid request
401Missing or invalid API key
403The key lacks the required scope
404Resource not found
409A campaign with this name already exists
429Rate limit exceeded
Response body - 201
idstring
objectstring
namestring
descriptionstring
agentIdstring
agentNamestring
statusstring

One of:draftscheduledrunningpausedcompletedcancelledarchived

timezonestring
settingsobject
retryLimitinteger
retryDelayMinutesinteger
concurrencyinteger
statsobject
totalinteger
pendinginteger
completedinteger
failedinteger
launchedAttimestamp
pausedAttimestamp
completedAttimestamp
createdAttimestamp

Retrieve a campaign

GET/campaigns/{id}
GET /campaigns/{id}
curl -X GET "https://api.rabbitt.ai/api/v1/campaigns/507f1f77bcf86cd799439011" \
  -H "Authorization: Bearer rb_live_xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Path parameters

idstringrequired

Responses

200The campaign
400Invalid request
401Missing or invalid API key
403The key lacks the required scope
404Resource not found
429Rate limit exceeded
Response body - 200
idstring
objectstring
namestring
descriptionstring
agentIdstring
agentNamestring
statusstring

One of:draftscheduledrunningpausedcompletedcancelledarchived

timezonestring
settingsobject
retryLimitinteger
retryDelayMinutesinteger
concurrencyinteger
statsobject
totalinteger
pendinginteger
completedinteger
failedinteger
launchedAttimestamp
pausedAttimestamp
completedAttimestamp
createdAttimestamp

Update a campaign

PATCH/campaigns/{id}

Only campaigns in `draft` or `paused` can be edited.

PATCH /campaigns/{id}
curl -X PATCH "https://api.rabbitt.ai/api/v1/campaigns/507f1f77bcf86cd799439011" \
  -H "Authorization: Bearer rb_live_xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Asha Menon",
    "description": "…",
    "timezone": "…",
    "settings": {}
  }'

Path parameters

idstringrequired

Body parameters

namestringoptional

max length 200

descriptionstringoptional

max length 1000

timezonestringoptional

max length 64

settingsobjectoptional

Responses

200The updated campaign
400Invalid request
401Missing or invalid API key
403The key lacks the required scope
404Resource not found
429Rate limit exceeded
Response body - 200
idstring
objectstring
namestring
descriptionstring
agentIdstring
agentNamestring
statusstring

One of:draftscheduledrunningpausedcompletedcancelledarchived

timezonestring
settingsobject
retryLimitinteger
retryDelayMinutesinteger
concurrencyinteger
statsobject
totalinteger
pendinginteger
completedinteger
failedinteger
launchedAttimestamp
pausedAttimestamp
completedAttimestamp
createdAttimestamp

Launch a campaign

POST/campaigns/{id}/launch
POST /campaigns/{id}/launch
curl -X POST "https://api.rabbitt.ai/api/v1/campaigns/507f1f77bcf86cd799439011/launch" \
  -H "Authorization: Bearer rb_live_xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Path parameters

idstringrequired

Responses

200The campaign in its new state
400Invalid request
401Missing or invalid API key
403The key lacks the required scope
404Resource not found
409The campaign cannot make this transition from its current status
429Rate limit exceeded
Response body - 200
idstring
objectstring
namestring
descriptionstring
agentIdstring
agentNamestring
statusstring

One of:draftscheduledrunningpausedcompletedcancelledarchived

timezonestring
settingsobject
retryLimitinteger
retryDelayMinutesinteger
concurrencyinteger
statsobject
totalinteger
pendinginteger
completedinteger
failedinteger
launchedAttimestamp
pausedAttimestamp
completedAttimestamp
createdAttimestamp

Pause a campaign

POST/campaigns/{id}/pause
POST /campaigns/{id}/pause
curl -X POST "https://api.rabbitt.ai/api/v1/campaigns/507f1f77bcf86cd799439011/pause" \
  -H "Authorization: Bearer rb_live_xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Path parameters

idstringrequired

Responses

200The campaign in its new state
400Invalid request
401Missing or invalid API key
403The key lacks the required scope
404Resource not found
409The campaign cannot make this transition from its current status
429Rate limit exceeded
Response body - 200
idstring
objectstring
namestring
descriptionstring
agentIdstring
agentNamestring
statusstring

One of:draftscheduledrunningpausedcompletedcancelledarchived

timezonestring
settingsobject
retryLimitinteger
retryDelayMinutesinteger
concurrencyinteger
statsobject
totalinteger
pendinginteger
completedinteger
failedinteger
launchedAttimestamp
pausedAttimestamp
completedAttimestamp
createdAttimestamp

Resume a campaign

POST/campaigns/{id}/resume
POST /campaigns/{id}/resume
curl -X POST "https://api.rabbitt.ai/api/v1/campaigns/507f1f77bcf86cd799439011/resume" \
  -H "Authorization: Bearer rb_live_xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Path parameters

idstringrequired

Responses

200The campaign in its new state
400Invalid request
401Missing or invalid API key
403The key lacks the required scope
404Resource not found
409The campaign cannot make this transition from its current status
429Rate limit exceeded
Response body - 200
idstring
objectstring
namestring
descriptionstring
agentIdstring
agentNamestring
statusstring

One of:draftscheduledrunningpausedcompletedcancelledarchived

timezonestring
settingsobject
retryLimitinteger
retryDelayMinutesinteger
concurrencyinteger
statsobject
totalinteger
pendinginteger
completedinteger
failedinteger
launchedAttimestamp
pausedAttimestamp
completedAttimestamp
createdAttimestamp

Cancel a campaign

POST/campaigns/{id}/cancel
POST /campaigns/{id}/cancel
curl -X POST "https://api.rabbitt.ai/api/v1/campaigns/507f1f77bcf86cd799439011/cancel" \
  -H "Authorization: Bearer rb_live_xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Path parameters

idstringrequired

Responses

200The campaign in its new state
400Invalid request
401Missing or invalid API key
403The key lacks the required scope
404Resource not found
409The campaign cannot make this transition from its current status
429Rate limit exceeded
Response body - 200
idstring
objectstring
namestring
descriptionstring
agentIdstring
agentNamestring
statusstring

One of:draftscheduledrunningpausedcompletedcancelledarchived

timezonestring
settingsobject
retryLimitinteger
retryDelayMinutesinteger
concurrencyinteger
statsobject
totalinteger
pendinginteger
completedinteger
failedinteger
launchedAttimestamp
pausedAttimestamp
completedAttimestamp
createdAttimestamp

Archive a campaign

POST/campaigns/{id}/archive
POST /campaigns/{id}/archive
curl -X POST "https://api.rabbitt.ai/api/v1/campaigns/507f1f77bcf86cd799439011/archive" \
  -H "Authorization: Bearer rb_live_xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Path parameters

idstringrequired

Responses

200The campaign in its new state
400Invalid request
401Missing or invalid API key
403The key lacks the required scope
404Resource not found
409The campaign cannot make this transition from its current status
429Rate limit exceeded
Response body - 200
idstring
objectstring
namestring
descriptionstring
agentIdstring
agentNamestring
statusstring

One of:draftscheduledrunningpausedcompletedcancelledarchived

timezonestring
settingsobject
retryLimitinteger
retryDelayMinutesinteger
concurrencyinteger
statsobject
totalinteger
pendinginteger
completedinteger
failedinteger
launchedAttimestamp
pausedAttimestamp
completedAttimestamp
createdAttimestamp

Dashboard Welcome