BlueJay

API Documentation

Welcome to the BlueJay API. Our platform provides reliable SMS and WhatsApp messaging infrastructure. Integrate high-volume messaging into your application using our RESTful endpoints.

bolt Performance

Low Latency

Messages are delivered within milliseconds through optimized routing.

shield Security

API Key Auth

All requests are authenticated via API keys with granular permissions.

vpn_key

Authentication

All API requests require an API key passed via the X-API-Key header.

bash
curl -X POST "https://api.bluejay.com/api/v1/sms" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"to": "+1234567890", "body": "Hello from BlueJay!"}'
You can generate and manage API keys from the API Keys page. Keys are shown only once on creation — store them securely.
sms

SMS API

POST
POST /api/v1/sms

Send a standard SMS message to any phone number worldwide.

Request Body

Field Type Required Description
to string Required Recipient phone number in E.164 format (e.g. +1234567890).
body string Required The text content of the SMS message.
from string Optional Sender ID (alphanumeric, max 11 chars) or phone number. Defaults to your configured sender number.

Example Request

bash
curl -X POST "https://api.bluejay.com/api/v1/sms" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1234567890",
    "body": "Your verification code is 5521",
    "from": "BlueJay"
  }'

Example Response

json
{
  "message": "SMS queued successfully",
  "record": {
    "id": 42,
    "to": "+1234567890",
    "from": "BlueJay",
    "status": "queued",
    "message_type": "sms",
    "cost": null,
    "created_at": "2026-05-11T10:00:00Z",
    "updated_at": "2026-05-11T10:00:00Z"
  }
}
chat

WhatsApp API

POST
POST /api/v1/whatsapp

Send messages via the WhatsApp Business platform. Phone numbers are automatically prefixed with whatsapp: if not already present. Supports both free-form text messages and pre-configured Content API templates.

Request Body

Field Type Required Description
to string Required Recipient phone number in E.164 format (e.g. +1234567890).
body string Optional Free-form text content. Required if content_sid is not set.
from string Optional WhatsApp Business phone number. Defaults to your configured sender number.
content_sid string Optional Twilio Content API template SID (e.g. HXxxxxxx). Required if body is not set.
content_variables string Optional JSON string of template variable values (e.g. {"1":"John","2":"5521"}). Only used with content_sid.

Example Request (Free-Form)

bash
curl -X POST "https://api.bluejay.com/api/v1/whatsapp" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1234567890",
    "body": "Your appointment is confirmed for tomorrow at 2pm."
  }'

Example Request (Template)

bash
curl -X POST "https://api.bluejay.com/api/v1/whatsapp" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1234567890",
    "content_sid": "HXabcdef1234567890",
    "content_variables": "{\"1\":\"John\",\"2\":\"5521\"}"
  }'

Example Response

json
{
  "message": "WhatsApp message queued successfully",
  "record": {
    "id": 43,
    "to": "whatsapp:+1234567890",
    "from": "whatsapp:+1987654321",
    "body": "Your appointment is confirmed for tomorrow at 2pm.",
    "status": "queued",
    "message_type": "whatsapp",
    "cost": null,
    "content_sid": null,
    "content_variables": null,
    "created_at": "2026-05-11T10:01:00Z",
    "updated_at": "2026-05-11T10:01:00Z"
  }
}

Ready to test?

Generate an API key and start sending messages in minutes.

terminal Go to API Keys