MCP is live.Set upAsk the community
OmniDimension
Bulk calls

Add contacts in bulk

Add up to 1000 contacts to a campaign in one request.

POST/calls/bulk_call//add_contacts
Path parameters
campaign_idrequired
Body
2 fields
·

Reseller keys only: act as one of your clients by its user id. Omit it to act on your own account. [How acting for a client works](/docs/reseller/your-clients/acting-as-clients).

Each row needs to_number. Note this differs from the contact_list on Create bulk call, which uses phone_number and takes loose keys: here the variables go in an explicit custom_variables object.

To number*
Number to call, in international format.
Custom variables
Passed to the agent as context for this call, so it can use them in the conversation.
Metadata
Stored with the contact and returned on its row in Bulk call results. Not shown to the agent.
curl -X POST 'https://omnidim.io/api/v1/calls/bulk_call/{campaign_id}/add_contacts' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "user_id": 1234,
  "contacts": [
    {
      "to_number": "+15551234567",
      "custom_variables": {
        "contact_name": "Ravi"
      }
    }
  ]
}'
Example response
{
  "status": "success",
  "message": "1 of 2 contacts added",
  "campaign_id": 314,
  "campaign_status": "in_progress",
  "added": [
    {
      "line_id": 8801,
      "to_number": "+15551234567"
    }
  ],
  "added_count": 1,
  "rejected": [
    {
      "index": 1,
      "reason": "to_number is not a valid phone number"
    }
  ],
  "rejected_count": 1
}

Authorization

BearerAuth
headerAuthorizationBearer <token>

Bearer token authentication. Obtain your API key from the OmniDimension dashboard.

Path Parameters

campaign_id*integer

Id of the bulk call campaign.

Request Body

application/json
user_id?ClientUserId

Reseller keys only: act as one of your clients by its user id. Omit it to act on your own account. How acting for a client works.

contacts*

Each row needs to_number. Note this differs from the contact_list on Create bulk call, which uses phone_number and takes loose keys: here the variables go in an explicit custom_variables object.

Itemsitems <= 1000

Response body

application/json

Response Body

What was added and what was not. added and rejected together account for every row you sent.

application/json
status?string
added?
rejected?

One entry per row that was not added. index is the row's position in the array you sent.

added_count?integer
rejected_count?integer
message?string
campaign_id?integer
campaign_status?string
post_call_actions_ignored?

Present only when a contact carried __post_call_actions. Bulk campaigns do not honor it: the key is removed from those contacts and one item with code unsupported_route is returned.

Was this page helpful?