Boltly Boltly / Docs
Docs / API Reference / Messages

Messages

Send text, media, templates, and interactive messages to WhatsApp contacts. Messages are delivered through the WhatsApp Business API and tracked with delivery receipts.

POST /v1/messages

Send a message

Send a text, media, template, or interactive message to a WhatsApp contact.

Parameters

to string required

Recipient phone number in E.164 format (e.g. +1234567890).

type string required

Message type. One of: text, image, video, document, audio, template, interactive.

text object

Text message body. Required when type is text.

text.body string required

The message text content. Max 4096 characters.

template object

Template message payload. Required when type is template.

template.name string required

Template name as approved by Meta.

template.language string required

Template language code (e.g. "en").

template.components array

Template component parameters for variable substitution.

media_url string

Public URL for image, video, document, or audio content.

Request

cURL
curl -X POST https://api.boltly.online/v1/messages \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1234567890",
    "type": "text",
    "text": { "body": "Hello from Boltly!" }
  }'

Response

JSON
{
  "data": {
    "id": "msg_01H2X3K...",
    "to": "+1234567890",
    "type": "text",
    "status": "queued",
    "created_at": "2026-04-03T12:00:00Z"
  }
}

GET /v1/messages

List messages

Retrieve a paginated list of messages for a conversation.

Parameters

conversation_id string required

Filter messages by conversation ID.

page integer

Page number. Defaults to 1.

per_page integer

Results per page. Defaults to 25, max 100.

Request

cURL
curl https://api.boltly.online/v1/messages?conversation_id=conv_01H... \
  -H "Authorization: Bearer $API_KEY"

Response

JSON
{
  "data": [
    {
      "id": "msg_01H2X3K...",
      "conversation_id": "conv_01H...",
      "type": "text",
      "direction": "outbound",
      "status": "delivered",
      "created_at": "2026-04-03T12:00:00Z"
    }
  ],
  "meta": { "page": 1, "per_page": 25, "total": 142 }
}

GET /v1/conversations/{cid}/messages/{mid}

Retrieve a message

Get a single message by its ID within a conversation.

Parameters

cid string required

Conversation ID.

mid string required

Message ID.

Request

cURL
curl https://api.boltly.online/v1/conversations/conv_01H.../messages/msg_01H... \
  -H "Authorization: Bearer $API_KEY"

Response

JSON
{
  "data": {
    "id": "msg_01H2X3K...",
    "conversation_id": "conv_01H...",
    "to": "+1234567890",
    "type": "text",
    "text": { "body": "Hello from Boltly!" },
    "direction": "outbound",
    "status": "read",
    "created_at": "2026-04-03T12:00:00Z"
  }
}