Use your `X-Public-Key` and bearer secret key to authenticate with Messaging.ng. These credentials are for customers consuming Messaging.ng messaging services from their own applications.
https://messaging.ng/api/v1SMS, USSD, VAS, WhatsApp, Voicetest, liveX-Public-Key + Bearer Secret KeyGET /account
Returns your workspace profile, account readiness, and wallet balance.
Use cases: show wallet balance inside your app, confirm account readiness before sending, and sync active workspace details into an internal dashboard.
POST /messages/send
{
"recipients": ["2348012345678", "2348098765432"],
"body": "Hello from Messaging.ng",
"sender_id": "MyBrand",
"channel": "sms",
"route": "transactional",
"scheduled_for": "2026-03-28T09:30:00+01:00"
}
Use this endpoint to submit outbound traffic through Messaging.ng. The response returns accepted messages, failures, references and wallet impact, while non-approved sender IDs are rejected.
Available Routes
`transactional`
Use for OTPs, one-time alerts, account activity notices, payment updates, delivery notifications, and customer service communications.
`promotional`
Use for marketing campaigns, product announcements, seasonal offers, engagement pushes, and audience reactivation traffic.
Typical Use Cases
GET /messages
Returns the latest message log for the current workspace credential.
Use cases: build delivery dashboards, reconcile message submissions, retrieve message references, and inspect scheduling or status history.
GET /sender-ids
Returns sender ID applications, approvals and pending reviews for the active workspace.
Use cases: verify which sender IDs are approved before sending, show approval state inside an internal admin panel, and monitor pending applications from your own system.
Integration Scope
These docs are for Messaging.ng customers integrating Messaging.ng services. Your application works directly with Messaging.ng endpoints, credentials, sender ID approvals, and reporting flows.
Messaging.ng forwards live USSD requests to the callback URL you save in your approved USSD service request. The request shape follows the same field naming used by Africa’s Talking-style USSD integrations, so most existing USSD callback handlers can be moved here without code changes.
Callback Request
POST your configured callback URL sessionId=ATUid_12345 serviceCode=*347*307*12# phoneNumber=+2348012345678 text=1*2*3
Expected Response
CON Welcome to your service 1. Balance 2. Transfer OR END Thank you for using our service
Events URL
If you save an events URL with your USSD request, Messaging.ng forwards end-of-session and related event payloads to that endpoint as they are received.
Subcode Assignment
Messaging.ng routes each incoming USSD request to the workspace that owns the assigned subcode. If your assigned subcode is 0, Messaging.ng treats that service as the primary code and forwards the callback to your platform with the primary code value.
Customer Setup Flow