Developer REST API Documentation & Code SDKs

Integrate automated Bulk SMS notifications, 2FA OTP verification codes, and real-time delivery receipts in under 5 minutes.

Generate Free API Key → View API Endpoints
POST /v1/sms/send

Dispatch High-Speed SMS Across Ghana

Send single or bulk SMS directly using our unified JSON payload. Includes automatic multi-part message splitting and instant routing through MTN, Telecel, and AT Ghana.

curl -X POST https://api.soarsend.com/v1/sms/send   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{
    "sender": "MYBRAND",
    "recipient": ["233596695447", "233241234567"],
    "message": "Your verification code is 482910. Valid for 5 minutes."
  }'
SoarSend Developer Platform

Request Parameters

All requests require your secret API Key passed via the Authorization: Bearer header.

Field Type Required Description
sender String Yes Your approved 11-character alphanumeric Sender ID (e.g. MYBRAND).
recipient Array / String Yes Target phone numbers in international or local format (e.g. 233596695447 or 0596695447).
message String Yes Text body. Up to 160 characters per GSM page. Automatically concatenated if longer.
scheduled_at String (ISO 8601) Optional Future timestamp for scheduled dispatch (e.g. 2026-09-01T08:00:00Z).

Multi-Language Quickstart SDKs

Copy and paste production-ready snippets in your favorite programming language.

const axios = require('axios');

async function sendBroadcast() {
  try {
    const response = await axios.post('https://api.soarsend.com/v1/sms/send', {
      sender: 'MYBRAND',
      recipient: ['233596695447'],
      message: 'Hello from SoarSend API!'
    }, {
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json'
      }
    });

    console.log('Dispatch success:', response.data);
  } catch (error) {
    console.error('Dispatch failed:', error.response ? error.response.data : error.message);
  }
}

sendBroadcast();
{
  "event": "message.delivered",
  "data": {
    "message_id": "msg_9841029412",
    "recipient": "233596695447",
    "status": "DELIVERED",
    "network": "MTN_GH",
    "units_deducted": 1,
    "timestamp": "2026-08-28T04:30:00Z"
  }
}

Real-Time Webhook Callbacks (DLR)

Receive instantaneous HTTP POST callbacks when your messages change state from SUBMITTED to DELIVERED or FAILED.

✓ Instant Delivery Receipts for every handset
✓ Detailed failure reason codes (Undeliverable, Absent Subscriber)
✓ Automatic webhook retries with exponential backoff
Configure Webhook URL →