The Messages API lets you send outbound SMS and WhatsApp messages to leads, and retrieve the full message history across all channels (SMS, WhatsApp, and email) for your workspace.
Send an SMS
Sends an SMS message to a phone number. By default, the message is sent from your workspace’s primary phone number.
Recipient phone number in E.164 format (e.g. "+15550001111").
Message content. Maximum 1,600 characters. Messages longer than 160 characters are split into segments by the carrier.
Sender phone number to use. Must be a number registered in your workspace. Defaults to your workspace’s primary number.
curl -X POST https://api.boltcall.org/v1/messages/sms \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+15550001111",
"body": "Thanks for calling! Your appointment is confirmed for Friday at 10am."
}'
{
"id" : "msg_sms001" ,
"channel" : "sms" ,
"status" : "sent" ,
"to" : "+15550001111" ,
"created_at" : "2025-03-20T15:00:00Z"
}
Send a WhatsApp message
Sends a WhatsApp message using an approved message template. Templates must be pre-approved through your WhatsApp Business Account before use.
Recipient phone number in E.164 format.
The approved WhatsApp template name (e.g. "appointment_reminder").
Key-value pairs used to fill template placeholders. Keys match the variable names defined in the template.
WhatsApp only allows outbound messages using pre-approved templates. Contact your account manager to set up templates, or manage them in Integrations → WhatsApp .
curl -X POST https://api.boltcall.org/v1/messages/whatsapp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+15550001111",
"template": "appointment_reminder",
"variables": {
"customer_name": "Jane Smith",
"appointment_time": "Friday at 10am"
}
}'
{
"id" : "msg_wa001" ,
"channel" : "whatsapp" ,
"status" : "sent" ,
"to" : "+15550001111" ,
"created_at" : "2025-03-20T15:05:00Z"
}
List messages
Returns paginated message history across all channels. Filter by channel or by a specific lead.
Filter by messaging channel. Accepted values: "sms", "whatsapp", "email".
Return only messages associated with a specific lead.
Number of results per page. Default: 20.
curl "https://api.boltcall.org/v1/messages?channel=sms&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"data" : [
{
"id" : "msg_sms001" ,
"channel" : "sms" ,
"direction" : "outbound" ,
"to" : "+15550001111" ,
"body" : "Thanks for calling! Your appointment is confirmed." ,
"status" : "delivered" ,
"created_at" : "2025-03-20T15:00:00Z"
}
],
"meta" : { "page" : 1 , "limit" : 20 , "total" : 89 }
}
Unique message identifier.
Messaging channel: "sms", "whatsapp", or "email".
"outbound" (sent by Boltcall) or "inbound" (received from the contact).
Recipient phone number or email address.
Delivery status: "sent", "delivered", or "failed".
ISO 8601 timestamp when the message was created.
Subscribe to the new_lead webhook event to receive real-time notifications when a new lead is captured, which includes the channel they contacted you through.