HTTP API overview
Send SMS to Malawi numbers from your own software over HTTPS and JSON.
The HTTP API lets your software send SMS, check delivery and read your balance.
Malawi only
The HTTP API sends to Malawi numbers (+265) only. A number in any other country is refused with HTTP 422 and the code destination_not_allowed. To reach other African countries, use SMPP.
The basics
| Item | Value |
|---|---|
| Base URL | https://api.smsyanu.com |
| Version prefix | /v1 |
| Format | JSON in, JSON out (Content-Type: application/json) |
| Authentication | Authorization: Bearer yanu_live_... or yanu_test_... |
| Phone format | E.164, for example +265888123456. Also accepted: 265888123456, 00265888123456, 0888123456. |
| Times | ISO 8601 with a time zone, for example 2026-11-05T08:30:00+00:00 |
| Currency | Your balance currency. MWK by default, USD supported. |
Endpoints
| Method | Path | What it does |
|---|---|---|
POST | /v1/messages/send | Send one SMS. |
POST | /v1/messages/send-bulk | Send to a contact list or many numbers. |
POST | /v1/verify/start | Send a one-time code, then check it with /v1/verify/check. |
POST | /v1/messages/rate | Price a message before you send it. No charge. |
GET | /v1/messages/{id} | One message with its status and timeline. |
GET | /v1/messages | List your messages, newest first. |
POST | /v1/messages/{id}/cancel | Cancel a scheduled message. |
GET | /v1/balance | Your balance and currency. |
GET / PUT | /v1/webhooks | Read or set your delivery webhook URL. |
POST | /v1/webhooks/test | Send a test event to your webhook. |
POST | /v1/webhooks/rotate-secret | Make a new webhook signing secret. |
To be confirmed
The HTTP API is still being built. The endpoints above exist in the current code. Field names, limits and some error codes may still change before launch. This page will be updated when the API is final.
Next
- Authentication and API keys
- Send an SMS
- Code examples in curl, Python, Node and PHP