Skip to main content
POST
cURL
Pick the Call / Email / WhatsApp tab in Try it. Extra fields for other channels are hidden. First: Lead setup with your campaignId.

Authorizations

Authorization
string
header
required

Paste only your API key (ond_live_… or ond_test_…). Do not type the word Bearer - the playground adds it.

Headers

Idempotency-Key
string

Optional. Same key + same body returns the same contact; same key + different body → 409.

Body

application/json
campaignId
string
required
Example:

"6a7afae1e1cf2999568febc4"

channel
enum<string>
default:call
required

Dial only. Email and WhatsApp fields are not used.

Available options:
call
phone
string
required
Example:

"+919876543210"

leadId

Your own lead id from your CRM (string or number). Returned unchanged in the response, in error responses and in call webhooks, so you can map every Ondial reply to your lead. Also accepted as metadata.leadId.

Maximum string length: 200
Example:

177

name
string
Example:

"Asha"

priority
enum<string>
default:normal
Available options:
high,
normal
scheduledAt
string<date-time>

When to dial. Defaults to now.

requeue
boolean

Re-arm a finished contact.

metadata
object
Example:

Response

Accepted

leadId

Your own lead id, exactly as you sent it. Omitted when you did not send one.

Maximum string length: 200
Example:

177

contactId
string
campaignId
string
channels
string[]
status
string
mode
enum<string>
Available options:
live,
sandbox
reasonCode
string
scheduledAt
string<date-time> | null
emailScheduledAt
string<date-time> | null
whatsappScheduledAt
string<date-time> | null
emailTemplateId
string | null
emailProfileId
string | null
whatsappTemplateId
string | null
whatsappProfileId
string | null
templateVariables
object | null
whatsappParams
string[] | null