POST
Create Campaign
Before creating a campaign, upload your contacts CSV to get a source_url. Set telephony_configuration_id to pin the campaign to a specific telephony configuration. If omitted, EESI falls back to the organization’s default outbound configuration — supplying an id that doesn’t exist in your organization returns 400 telephony_configuration_not_found. The time_slots field controls when EESI is allowed to place calls. If omitted, calls can be placed at any time. The timezone field applies to all time slot windows.
Once created, the campaign is in draft status. Call Start to begin dialing.

Authorizations

Authorization
string
header
required

An EESI API key (sk-eesi-...) or a Clerk session token.

Headers

authorization
string | null
X-API-Key
string | null

Body

application/json
name
string
required
Required string length: 1 - 255
workflow_id
integer
required
source_type
string
required
Pattern: ^csv$
source_id
string
required
telephony_configuration_id
integer | null
retry_config
RetryConfigRequest · object | null
max_concurrency
integer | null
Required range: 1 <= x <= 100
schedule_config
ScheduleConfigRequest · object | null
circuit_breaker
CircuitBreakerConfigRequest · object | null

Response

Successful Response

id
integer
required
name
string
required
workflow_id
integer
required
workflow_name
string
required
state
string
required
source_type
string
required
source_id
string
required
total_rows
integer | null
required
processed_rows
integer
required
failed_rows
integer
required
created_at
string<date-time>
required
started_at
string<date-time> | null
required
completed_at
string<date-time> | null
required
retry_config
RetryConfigResponse · object
required
max_concurrency
integer | null
schedule_config
ScheduleConfigResponse · object | null
circuit_breaker
CircuitBreakerConfigResponse · object | null
executed_count
integer
default:0
total_queued_count
integer
default:0
parent_campaign_id
integer | null
redialed_campaign_id
integer | null
telephony_configuration_id
integer | null
telephony_configuration_name
string | null
logs
CampaignLogEntryResponse · object[]