Send SMS messages to a large list of recipients from a pre-uploaded CSV file. Processing is handled asynchronously via a background workflow.
file_id.
Upload your CSV via POST https://api.bland.ai/v1/files/attach with file_type: "batches". The response will include a file_id (UUID) that you pass to this endpoint.
CSV format requirements:
phone_number containing E.164-formatted numbers (e.g. +14155551234). Numbers without a leading + are automatically prefixed.phone_number column cannot be remapped via column_mapping — the column must be named phone_number in the CSV itself.{{column_name}} syntax.request_data.fieldname (dot notation) are automatically parsed into the recipient’s request_data object.file_type: "batches". See Before You Begin above.agent_number field is required; all other fields from the Send SMS endpoint are supported as defaults.request_data or other SMS parameters. Note: phone_number cannot be used as a target — the phone number column in your CSV must be named phone_number exactly.Map columns to request_data to make them available as pathway variables:request_data is supported as a target — per-recipient fields like pathway_id or persona_id cannot be overridden from the CSV. Alternatively, use dot notation column names in your CSV directly (e.g. request_data.customer_name) to avoid needing column_mapping at all.null on success, or a list of error objects if the request failed.