Skip to main content
POST
/
v1
/
sms
/
batch
Send SMS Batch
curl --request POST \
  --url https://api.bland.ai/v1/sms/batch \
  --header 'Content-Type: application/json' \
  --header 'authorization: <authorization>' \
  --data '
{
  "file_id": "<string>",
  "global": {
    "agent_number": "<string>",
    "pathway_id": "<string>",
    "pathway_version": 123,
    "start_node_id": "<string>",
    "persona_id": "<string>",
    "request_data": {},
    "channel": "<string>",
    "webhook": "<string>"
  },
  "column_mapping": {}
}
'
{
  "file_id": "file_abc123",
  "global": {
    "agent_number": "+14155551234",
    "pathway_id": "pathway_xyz789",
    "channel": "sms"
  },
  "column_mapping": {
    "phone": "user_number",
    "name": "request_data.name"
  }
}
Enterprise Feature - SMS batch sending is only available on Enterprise plans. Contact your Bland representative for access.

Headers

authorization
string
required
Your API key for authentication.

Body Parameters

file_id
string
required
The ID of a previously uploaded CSV file containing recipient phone numbers. The file must have been uploaded with file_type: "batches".
global
object
required
Default SMS parameters applied to every message in the batch. The agent_number field is required; all other fields from the Send SMS endpoint are supported as defaults.
column_mapping
object
Maps column names in your CSV file to SMS send parameters. Use this to map the recipient phone number column and any per-recipient overrides.For example, if your CSV has a column called "phone" that contains recipient numbers:
{
  "phone": "user_number"
}
Any field supported by the Send SMS endpoint can be a target value in the mapping.

Response

data
object
Confirmation that the batch was accepted for processing.
errors
null|array
null on success, or a list of error objects if the request failed.
{
  "file_id": "file_abc123",
  "global": {
    "agent_number": "+14155551234",
    "pathway_id": "pathway_xyz789",
    "channel": "sms"
  },
  "column_mapping": {
    "phone": "user_number",
    "name": "request_data.name"
  }
}