Skip to content

Start Parallel Session

POST
/dialer/parallel-calls/sessions/start

*** CALLS REAL PEOPLE. *** Dials every contact in the body, at once.

One request can ring a lot of telephones. The only ceiling is voice’s per-org MAX_LIMIT_OF_CALLS_PER_ORG_ID; this contract does not cap contacts itself, because a cap here that disagreed with voice’s would reject batches voice would have accepted.

Contacts whose number cannot be parsed are SKIPPED, not rejected - the batch proceeds without them and the response names who was dropped. Read it; do not assume every contact you sent was dialed.

Attempts reserve credits and connected minutes charge more. Tiered external: this reaches strangers on the customer’s behalf.

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Mirrors ParallelDialRequest minus org_id. THIS DIALS EVERY CONTACT.

object
campaign_builder_campaign_id
Any of:
string
campaign_id
Any of:
string
contacts
required
Array<object>

One person to call. to_phone is a REAL phone number of a REAL human.

An unparseable number is SKIPPED rather than rejecting the batch, so read the response to learn who was actually dialed.

object
all_phones
Any of:
Array<object>
object
key
additional properties
any
company
Any of:
string
contact_id
required
string
default_region
Any of:
string
dynamic_columns
Any of:
object
key
additional properties
any
email
Any of:
string
first_name
Any of:
string
is_redial
Any of:
boolean
last_name
Any of:
string
original_call_id
Any of:
string
phone_index
Any of:
integer
redial_count
Any of:
integer
timezone
string
default: America/New_York
title
Any of:
string
to_phone
required
string
from_phone
required
string
name
Any of:
string
session_id
Any of:
string
session_metadata
Any of:

Free-form session context. Open: voice grows this per release.

object
key
additional properties
any
user_email
Any of:
string
user_id
required
string

Responses

200

Successful Response

object
data
required

An open envelope for one dialer result.

Open because voice owns the shape of a session, a call stub and a queue stat, and it grows them without a contract bump here. A dropped field would otherwise turn an added upstream field into a removed public one.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string