Skip to main content
POST
/
campaign
/
make-call-async
Start Large Campaign Calls (Beta)
curl --request POST \
  --url https://prod-api.ringg.ai/ca/api/v0/campaign/make-call-async \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '
{
  "bulk_list_id": "123e4567-e89b-12d3-a456-426614174000",
  "agent_id": "830f767a-397e-4b39-82ff-235cd344e2f9",
  "country_code": "+91",
  "campaign_start_time": "18/10/2026, 09:00",
  "campaign_end_time": "18/10/2026, 18:00",
  "call_config": {
    "call_retry_config": {
      "retry_count": 1,
      "retry_busy": 30,
      "retry_not_picked": 30,
      "retry_failed": 30
    },
    "call_time": {
      "call_start_time": "09:00",
      "call_end_time": "18:00",
      "timezone": "Asia/Kolkata",
      "scheduled_at": null
    }
  },
  "from_numbers": [
    "from-number-id"
  ],
  "number_pool_id": "pool-uuid-here",
  "concurrency_percentage": 25,
  "callback_url": "https://api.example.com/ringg/campaign-callback",
  "email_completion_user_ids": [
    "<string>"
  ]
}
'
{
  "message": "Campaign calls scheduled",
  "bulk_list_id": "123e4567-e89b-12d3-a456-426614174000",
  "status": "scheduled"
}
This endpoint is beta. Use it only after Get large campaign upload status shows processing is complete and Check large campaign balance confirms sufficient balance.
POST /campaign/make-call-async queues outbound calls for a beta large campaign. Use it instead of POST /campaign/start for 5,000+ row campaigns created with POST /campaign/upload-csv.

Endpoint

POST /campaign/make-call-async

Request body

Send JSON.
FieldRequiredDescription
agent_idYesAssistant that will handle the campaign calls
bulk_list_idYesLarge campaign list ID returned by POST /campaign/upload-csv
from_numbersYesWorkspace caller numbers or number IDs to use for outbound calls
callback_urlNoURL that should receive post-call events, if configured
curl --request POST "https://prod-api.ringg.ai/ca/api/v0/campaign/make-call-async" \
  --header "X-API-KEY: $RINGG_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "agent_id": "your-agent-id",
    "bulk_list_id": "your-bulk-list-id",
    "from_numbers": ["your-from-number-id"],
    "callback_url": "https://api.example.com/ringg/campaign-callback"
  }'

Response guidance

A successful response means the large campaign was accepted for async scheduling.
{
  "bulk_list_id": "123e4567-e89b-12d3-a456-426614174000",
  "status": "scheduled",
  "message": "Large campaign calls queued"
}
Avoid submitting the same bulk_list_id more than once unless a previous attempt clearly failed.

Next step

Monitor progress with Get all campaigns and inspect call rows with Get call history filtered by the same bulk_list_id.

Headers

X-API-KEY
string
required

(Required) Your Ringg AI API key.

Example:

"7251cb4b-3373-43a4-844c-b27a1d45e0c9"

Body

application/json

Exactly one of from_numbers or number_pool_id must be provided. Sending both or neither results in a 422.

bulk_list_id
string
required

Draft bulk list ID returned by /campaign/upload-csv.

Example:

"123e4567-e89b-12d3-a456-426614174000"

agent_id
string
required

Assistant ID used during upload.

Example:

"830f767a-397e-4b39-82ff-235cd344e2f9"

country_code
string
required

Phone number country code.

Example:

"+91"

campaign_start_time
string
required

Campaign start time in DD/MM/YYYY, HH:MM format.

Example:

"18/10/2026, 09:00"

campaign_end_time
string
required

Campaign end time in DD/MM/YYYY, HH:MM format.

Example:

"18/10/2026, 18:00"

call_config
object
required
from_numbers
string[] | null

Explicit list of FromNumber UUIDs / phone numbers. Provide exactly one of from_numbers or number_pool_id.

Example:
["from-number-id"]
number_pool_id
string | null

Managed number pool ID (rotation, spam skipping, auto-purchase). Provide exactly one of from_numbers or number_pool_id.

Example:

"pool-uuid-here"

concurrency_percentage
integer
default:0
Required range: 0 <= x <= 100
Example:

25

callback_url
string | null
Example:

"https://api.example.com/ringg/campaign-callback"

email_completion_user_ids
string[] | null

Response

Large campaign call creation accepted.

message
string
bulk_list_id
string
status
string