Skip to main content
POST
/
v1
/
external
/
sms
/
bulk
curl --request POST \
  --url https://api.kairosafrika.com/v1/external/sms/bulk \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'x-api-secret: YOUR_API_SECRET' \
  --header 'x-api-version: 2025-08-01' \
  --header 'Content-Type: application/json' \
  --data '{
    "messages": [
      {
        "to": "233200746417",
        "from": "PHCCU",
        "message": "Dear TETTEH-KORBOE MARIAN (DR), GHS 224.52 Interest on Savings for the 3rd Quarter of 2023\r\nBalance GHS 24471.33.\r\nThank you. PHCCU… Happy Family!",
        "type": "Quick"
      },
      {
        "to": "233559400612",
        "from": "PHCCU",
        "message": "Dear TETTEH-KORBOE MARIAN (DR), GHS 224.52 Interest on Savings for the 3rd Quarter of 2023\r\nBalance GHS 24471.33.\r\nThank you. PHCCU… Happy Family!",
        "type": "Quick"
      }
    ],
    "isGlobal": false
  }'
{
  "statusCode": 201,
  "statusMessage": "Bulk messages successfully sent",
  "transactionId": "e43597d8-2fcb-479f-a4eb-68a3502efa4a",
  "sequenceNo": null,
  "data": {
    "totalBatches": 1,
    "batches": [
      {
        "jobId": "27bf8f64-b804-4d99-b64b-b13efc67d5ed",
        "messages": [
          {
            "to": "233200746417",
            "from": "PHCCU",
            "message": "Dear TETTEH-KORBOE MARIAN (DR), GHS 224.52 Interest on Savings for the 3rd Quarter of 2023\r\nBalance GHS 24471.33.\r\nThank you. PHCCU… Happy Family!",
            "type": "Quick",
            "sequenceNo": "01K6MNZ814E5GDJ5Y95460QY9S",
            "transactionId": "e43597d8-2fcb-479f-a4eb-68a3502efa4a"
          }
        ]
      }
    ],
    "senderAddress": "PHCCU"
  },
  "timestamp": "2025-10-03T09:20:40.575Z"
}

Send Bulk SMS

This endpoint allows you to send SMS messages to multiple recipients in a single request. Endpoint: POST /v1/external/sms/bulk
curl --request POST \
  --url https://api.kairosafrika.com/v1/external/sms/bulk \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'x-api-secret: YOUR_API_SECRET' \
  --header 'x-api-version: 2025-08-01' \
  --header 'Content-Type: application/json' \
  --data '{
    "messages": [
      {
        "to": "233200746417",
        "from": "PHCCU",
        "message": "Dear TETTEH-KORBOE MARIAN (DR), GHS 224.52 Interest on Savings for the 3rd Quarter of 2023\r\nBalance GHS 24471.33.\r\nThank you. PHCCU… Happy Family!",
        "type": "Quick"
      },
      {
        "to": "233559400612",
        "from": "PHCCU",
        "message": "Dear TETTEH-KORBOE MARIAN (DR), GHS 224.52 Interest on Savings for the 3rd Quarter of 2023\r\nBalance GHS 24471.33.\r\nThank you. PHCCU… Happy Family!",
        "type": "Quick"
      }
    ],
    "isGlobal": false
  }'

Request Body

  • messages (array, required): Array of SMS message objects to send.
    • to (string, required): Recipient phone number (without + prefix).
    • from (string, required): Sender ID or name.
    • message (string, required): The SMS message content.
    • type (string, required): SMS type (use “Quick” for quick SMS).
  • isGlobal (boolean, required): Whether to use global routing (true/false).

Responses

  • 200 OK: Bulk SMS sent successfully.
  • 400 Bad Request: Invalid request data.
  • 401 Unauthorized: Invalid or missing API key.

Authorizations

x-api-key
string
header
required

API Key for authentication

x-api-secret
string
header
required

API Secret for authentication

Headers

x-api-version
enum<string>
required

API version header (required for full JSON response)

Available options:
2025-08-01

Body

application/json
messages
object[]
required

Array of SMS message objects to send

Minimum array length: 1
isGlobal
boolean
required

Whether to use global routing

Example:

false

Response

Bulk SMS sent successfully

statusCode
integer

HTTP status code

Example:

201

statusMessage
string

Status message

Example:

"Bulk messages successfully sent"

transactionId
string

Unique transaction identifier

Example:

"e43597d8-2fcb-479f-a4eb-68a3502efa4a"

sequenceNo
string | null

Sequence number

Example:

null

data
object
timestamp
string<date-time>

ISO 8601 timestamp

Example:

"2025-10-03T09:20:40.575Z"