Skip to main content
POST
/
api
/
v1
/
batch-call
/
create
Create batch campaign
curl --request POST \
  --url https://api.kupe.in/api/v1/batch-call/create \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "agent_id": "00000000-0000-0000-0000-000000000001",
  "caller_phone_id": "00000000-0000-0000-0000-000000000002",
  "batch_name": "Demo campaign",
  "variable_names": [
    "name",
    "company_name"
  ],
  "batch_size": 5
}
'
{
  "success": true,
  "message": "<string>",
  "data": {}
}

Authorizations

x-api-key
string
header
default:YOUR_KUPE_API_KEY
required

Kupe dashboard API key for your user.

Body

application/json

Create an outbound batch campaign. Send exactly one of agent_id or workflow_id. caller_phone_id is the phone_numbers.id row used as the outbound line (GET /api/v1/phone). user_id is optional — defaults to the API key owner or Bearer session user.

caller_phone_id
string<uuid>
required

Outbound caller line (phone_numbers.id).

batch_name
string
required
Example:

"November follow-ups"

agent_id
string<uuid> | null
workflow_id
string<uuid> | null
user_id
string<uuid> | null
description
string | null
status
enum<string>
default:not_started
Available options:
not_started,
in_progress,
completed
variable_names
string[]

Template variable names substituted in the agent system prompt ({{name}}, etc.).

Example:
["name", "company_name"]
batch_size
integer
default:1

Max concurrent dials per wave while the campaign runs.

Required range: x >= 1

Response

Batch created

success
boolean
message
string
data
object