Skip to main content
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.
to
string
required
Recipient phone number in E.164 format (e.g. "+15550001111").
body
string
required
Message content. Maximum 1,600 characters. Messages longer than 160 characters are split into segments by the carrier.
from_number
string
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."
  }'
Response
{
  "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.
to
string
required
Recipient phone number in E.164 format.
template
string
required
The approved WhatsApp template name (e.g. "appointment_reminder").
variables
object
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"
    }
  }'
Response
{
  "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.
channel
string
Filter by messaging channel. Accepted values: "sms", "whatsapp", "email".
lead_id
string
Return only messages associated with a specific lead.
limit
integer
Number of results per page. Default: 20.
curl "https://api.boltcall.org/v1/messages?channel=sms&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "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 }
}
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.