Skip to main content
POST
Initiate Individual Call
Use it for calls triggered by an event in your product, such as a missed EMI or a new lead, and to test an agent before a campaign. To have Ringg choose the caller number from a number pool (rotation and spam skipping), use the number-pool variant. agent_id comes from List agents and from_number_id from List workspace numbers. Send from_number_id or from_number, not both. When the agent version has its own outbound numbers, those are used instead, and both fields may be left out. name is used as callee_name when custom_args_values does not set one.
The response’s data.call_id identifies the call in call details, call history and webhook payloads. Store it with your own record.

Call settings for this call

call_config overrides the agent’s settings for this call only:
  • max_call_length (seconds), idle_timeout_warning and idle_timeout_end (seconds of silence);
  • call_time: call_start_time, call_end_time (HH:MM) and timezone, the window the call may be placed in, and scheduled_at to place the call later;
  • call_retry_config: retry_count, and the wait in minutes before retrying a busy (retry_busy), unanswered (retry_not_picked) or failed (retry_failed) call.

Schedule the call

call_config.call_time.scheduled_at places the call later. Write it as a local time without an offset, YYYY-MM-DDTHH:MM:SS, in call_time.timezone (the agent’s timezone when that is not sent). It must be in the future; a time outside the calling window moves to the next opening.
The response says “Call has been scheduled successfully for …” and returns data.scheduled_at, data.scheduled_timezone and data.scheduled_time_utc.

Call limits and deadlines

The workspace and agent call limits apply to calls placed by API. The request is still accepted with 200; the limit is checked just before dialling.
  • call_validity_hours and call_deadline give the call a deadline. A call held by a limit waits until then (call_status registered, call_sub_status FREQUENCY_DEFERRED), and is cancelled with DEADLINE_PASSED if it has not been placed by the deadline. call_validity_hours counts from when the call is created, or from scheduled_at; when both are sent, the earlier deadline applies.
  • A call with no deadline is cancelled as soon as a limit blocks it (cancelled, FREQUENCY_CAPPED).
  • purpose: "transactional" marks a transactional call; the call limits do not apply to it.

Name formatting

smart_formatter cleans callee_name before the call. extract_first_name drops titles and keeps the first name (Mr Rajesh Kumar becomes Rajesh). transliteration also converts the name to transliteration_language.target (default hi) and turns on first-name extraction. The original name stays available as original_callee_name in custom_args_values.

Troubleshooting

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
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, e.g., +91 for India)

Example:

"+1234567890"

agent_id
string
required

UUID of the agent that will handle the call

Example:

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

from_number_id
required

Workspace number ID, or array of workspace number IDs, from List workspace numbers. 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. Send either from_number or from_number_id, not both (422).

Example:

"+1987654321"

custom_args_values
object

Custom variables that will be 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 dictionary-based transliteration

Example:
call_config
object

(Optional) Override default call configuration

Example:
version_id
string

Optional agent version ID. Defaults to the active version.

Example:

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

call_category
string

Optional category for internal reporting or workflow grouping.

Example:

"renewal_reminder"

parent_call_id
string

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"