Skip to main content
Use this endpoint to create a bulk outbound calling campaign that will dial multiple contacts using the Scalysis AI engine. You can supply contacts either as a structured JSON array or as a raw CSV string — whichever fits your workflow. Campaigns are created in a paused state by default, giving you the opportunity to review settings before starting, unless you explicitly set startImmediately to true. Endpoint
Authentication Include your API key in the request using either the Authorization header as a Bearer token or the X-API-Key header.

Request Body

number
required
The numeric ID of the AI agent script to use for every call in this campaign.
array
An array of contact objects to dial. Required if you are not providing csvText. Each object represents one outbound call.
string
A raw CSV string containing your contact list. Required if you are not providing a contacts array. The CSV must include a header row. By default, Scalysis reads phone numbers from a column named phone_number; use phoneColumn to specify a different column name.
string
The name of the CSV column that contains phone numbers. Defaults to "phone_number" when using csvText.
string
A human-readable label for the campaign, also accepted as campaignName. Shown in your Scalysis dashboard and included in reports.
string
The campaign type. Accepted values are "cod", "list", and "ndr". Defaults to "cod" (cash-on-delivery confirmation).
boolean
When true, the campaign begins dialling as soon as it is created. Defaults to false, which leaves the campaign in a not_started state until you call the Control endpoint.
number
The maximum number of simultaneous outbound calls the campaign may place at any one time. Leave unset to use your account’s default concurrency limit.

Example Requests


Response Fields

boolean
true when the campaign was successfully created.
string
The action performed. Always "create_campaign" for this endpoint.
string
The campaign type that was created (e.g. "cod", "list", or "ndr").
number
The unique identifier assigned to the new campaign. Save this value — you will need it to start, pause, or resume the campaign via the Control endpoint.
string
The name assigned to the campaign.
string
The initial state of the campaign. Returns "not_started" unless startImmediately was true, in which case it returns "running".
number
The number of contacts successfully loaded into the campaign.
boolean
true if the campaign began dialling immediately upon creation.
string
A human-readable status message describing the outcome of the request.

Example Success Response


2,000 contact limit per request. A single create request supports up to approximately 2,000 contacts. If your list is larger, split it across multiple campaigns or contact Scalysis support about bulk import options.
Save your campaign_id. You will need this value to start, pause, or resume the campaign. Store it in your system as soon as you receive the creation response.