Skip to main content

Developer API

The CloudMetis API lets your own systems send SMS to Safaricom, Airtel and Telkom numbers — one message or up to 10,000 at a time — and receive delivery reports on your server.

Base URL: https://api.cloudmetis.com/v1

What you can do​

You want to…Use
Send an OTP, receipt or alertPOST /v1/sms/send with one number
Send a promotion to a listPOST /v1/sms/send with up to 10,000 numbers
Know when a message was deliveredA webhook on your server, or GET /v1/sms/status/{message_id}
Track a large sendGET /v1/sms/batches/{batch_id}
Check you have enough SMS unitsGET /v1/sms/balance

How it works​

  1. An admin in your organisation creates an API key in the CloudMetis app under Management → Developer API. See Authentication.
  2. Your code sends JSON requests with the key in the Authorization header.
  3. Each SMS part uses one SMS unit from your organisation's wallet. See SMS units.
  4. Delivery reports are pushed to your webhook URL as statuses change.

Test keys (cm_test_…) use a free sandbox: nothing is sent and no units are used, so you can build your whole integration before going live.

Start here​

Conventions​

  • Requests and responses are JSON (Content-Type: application/json).
  • Phone numbers are returned in E.164 format (+254712345678). You can send Kenyan numbers as 0712345678, 712345678, 254712345678 or +254712345678.
  • Times are ISO 8601 in East Africa Time (+03:00).
  • Message IDs look like msg_183, batch IDs like bat_103.