Developer REST API

Vuuma SMS API documentation

Send SMS and check your credit balance from your own app, website or ERP. Two endpoints, JSON in and JSON out.

Overview

The Vuuma API is a REST API served from the same platform as your portal. Every request is a POST with a JSON body, and every response is JSON.

Base URL https://sms.vuuma.co.ke/api/sms/v1
MethodEndpointPurpose
POST/sendsmsSend an SMS to one or many phone numbers
POST/credit-balanceCheck the SMS credit left on your account

Getting started

  1. Register your Sender ID. The API sends from your registered Sender ID. Registration is Ksh 8,500 one-time and includes 1,500 free SMS units. See how it works.
  2. Copy your API key. Log in at sms.vuuma.co.ke and open My Profile. Your api_key is listed there.
  3. Make your first request. Call /credit-balance to confirm your key works, then send a test message to your own number with /sendsms.

Authentication

Every request is authenticated with your api_key, sent as a field in the JSON body. There are no extra headers or tokens to manage.

Keep your key on the server. Anyone with your API key can send SMS on your credit. Store it in an environment variable or secrets manager and call the API from your backend, never from a browser or a mobile app. If you think a key has leaked, contact support straight away.

Send SMS

POST /sendsms

Sends a message from your Sender ID to one or more phone numbers. To reach several people with the same message, put all their numbers in phone, separated by commas.

Body parameters

FieldTypeDescription
api_key requiredstringYour API key, from My Profile in the portal.
sender_id requiredstringYour registered Sender ID, for example 23107.
message requiredstringThe text of the SMS.
phone requiredstringOne number, or several separated by commas, in the format 2547XXXXXXXX. See phone number format.

Example request

curl -X POST https://sms.vuuma.co.ke/api/sms/v1/sendsms \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_API_KEY",
    "sender_id": "23107",
    "message": "Hello welcome to Vuuma SMS",
    "phone": "2547XXXXXXXX,2547YYYYYYYY"
  }'

Example response

A successful request returns 200 OK:

JSON
[
  {
    "status": "200",
    "message": "Message sent successfully"
  }
]

Credit balance

POST /credit-balance

Returns the SMS credit left on your account. Check it before a large broadcast, or use it to alert your team when credit runs low.

Body parameters

FieldTypeDescription
api_key requiredstringYour API key, from My Profile in the portal.

Example request

curl -X POST https://sms.vuuma.co.ke/api/sms/v1/credit-balance \
  -H "Content-Type: application/json" \
  -d '{ "api_key": "YOUR_API_KEY" }'

Example response

balance holds your remaining credit:

JSON
{
  "status": "200",
  "balance": "CREDIT_BALANCE"
}

Phone number format

Send numbers in international format: the country code 254 followed by the number, with no +, no spaces and no leading 0.

Number as writtenSend as
07XX XXX XXX2547XXXXXXXX
+254 7XX XXX XXX2547XXXXXXXX
Two numbers2547XXXXXXXX,2547YYYYYYYY

Integration support

Planning high-volume OTPs or a custom integration? Our team will help you get it right. Call (+254) 0700 742 742 or email [email protected], Monday to Sunday, 8:00 AM to 5:00 PM.

Contact support