Skip to main content
POST
Initiate Individual Call (Number Pool)
The number pool rotates numbers and skips ones flagged as spam.

Caller number

Send at least one of these. With number_pool_id, Ringg picks the number from the pool and ignores the other two. Without a pool, outbound numbers set on the agent version are used before from_number_id or from_number.
name, mobile_number, agent_id, custom_args_values, smart_formatter, call_config, version_id, purpose, call_validity_hours and call_deadline work as on Initiate individual call. The response’s data.call_id identifies the call everywhere else.

Troubleshooting

As for Initiate individual call, plus:

Authorizations

X-API-KEY
string
header
required

Headers

X-API-KEY
string
required

(Required) Your Ringg AI API key.

Example:

"rg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Body

application/json

Send at least one of number_pool_id, from_number_id or from_number. from_number_id and from_number cannot both be set. When number_pool_id is sent, the pool wins.

name
string
required

The name of the person to call.

Example:

"John Doe"

mobile_number
string
required

The phone number to call (must include country code).

Example:

"+1234567890"

agent_id
string
required

UUID of the agent that will handle the call.

Example:

"00000000-0000-4000-8000-0000000000a1"

number_pool_id
string | null

Number pool ID. Ringg picks the caller number from the pool, rotating numbers and skipping ones flagged as spam. When it is sent, from_number_id and from_number are ignored.

Example:

"00000000-0000-4000-8000-0000000000b1"

from_number_id

Workspace number ID, or array of workspace number IDs. Used when no number_pool_id is sent. Send either from_number_id or from_number, not both (422).

Example:

"from-number-id"

from_number

Caller phone number, or array of caller phone numbers, with country code. Used when no number_pool_id is sent. Send either from_number or from_number_id, not both (422).

Example:

"+1987654321"

custom_args_values
object

Custom variables replaced in the agent's prompt using @{{variable_name}} syntax.

Example:
smart_formatter
object

(Optional) Smart formatting for callee name — supports first name extraction and transliteration.

Example:
call_config
object

(Optional) Override default call configuration.

voice_id
string | null

Optional AgentVoice ID for this call. Overrides the agent version's default voice.

Example:

"voice-uuid-here"

version_id
string | null

Optional agent version ID. Defaults to the active version.

Example:

"00000000-0000-4000-8000-0000000000d1"

call_category
string | null

Optional category for internal reporting or workflow grouping.

Example:

"renewal_reminder"

parent_call_id
string | null

Optional parent call ID for follow-up or chained-call flows.

Example:

"550e8400-e29b-41d4-a716-446655440000"

purpose
string | null

Send transactional so the workspace and agent call limits do not apply to this call. Leave it out for other calls.

Example:

"transactional"

call_validity_hours
number | null

Hours the call may wait before it is cancelled with sub-status DEADLINE_PASSED, counted from when the call is created, or from call_config.call_time.scheduled_at when it is scheduled. When both this and call_deadline are sent, the earlier one applies. A call held by a call limit waits until its deadline; a call with no deadline is cancelled when a limit blocks it (FREQUENCY_CAPPED).

Example:

6

call_deadline
string<date-time> | null

Latest time the call may be placed. After it the call is cancelled with sub-status DEADLINE_PASSED. See call_validity_hours.

Example:

"2026-10-18T18:00:00+05:30"

Response

Successful Response: Details about the initiated call.

status
string
Example:

"success"

data
object
message
string
Example:

"Call initiated successfully"