Welcome to the SMS0X programmable infrastructure. Our high-performance API allows enterprises to integrate global messaging into any application with sub-3s delivery and institutional-grade reliability.
Designed for scale and simplicity, our RESTful endpoints connect you to 190+ countries through a single, secure gateway.
All SMS0X API requests must be authenticated via an API Key provided as a standard Bearer token in your request headers.
Your keys carry full account permissions. Keep them secure in your environment variables and never expose them in client-side frontends.
You can generate and manage your API keys directly from your Developer Hub in the dashboard.
Authorization: Bearer YOUR_API_KEY
Reliably broadcast a single SMS message to any mobile destination worldwide.
| Parameter | Description |
|---|---|
| to string Required | Destination number in international E.164 format (e.g., +14155552671). |
| from string Required | Your approved Alpha-numeric Sender ID or dedicated virtual number. |
| text string Required | The message body. We handle concatenation automatically for multi-segment messages. |
curl -X POST "https://api.sms0x.com/v1/send" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "to": "+14155550100", "from": "SMS0X", "text": "Your login code: 5521" }'
const axios = require('axios'); const data = { to: '+14155550100', from: 'SMS0X', text: 'Your login code: 5521' }; axios.post('https://api.sms0x.com/v1/send', data, { headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' } }).then(res => console.log(res.data));
$ch = curl_init('https://api.sms0x.com/v1/send'); $data = json_encode([ 'to' => '+14155550100', 'from' => 'SMS0X', 'text' => 'Your login code: 5521' ]); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json' ]); $response = curl_exec($ch); curl_close($ch);
{
"status": "success",
"message_id": "sms0x_5a2f8c",
"timestamp": "2026-07-01T12:00:00Z"
}
Fetch the real-time delivery status of a previously sent message using its unique message_id.
curl -X GET "https://api.sms0x.com/v1/messages/sms0x_5a2f8c" \ -H "Authorization: Bearer YOUR_API_KEY"
const axios = require('axios'); axios.get('https://api.sms0x.com/v1/messages/sms0x_5a2f8c', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }).then(res => console.log(res.data));
$ch = curl_init('https://api.sms0x.com/v1/messages/sms0x_5a2f8c'); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer YOUR_API_KEY' ]); $response = curl_exec($ch); curl_close($ch);
{
"message_id": "sms0x_5a2f8c",
"status": "delivered",
"recipient": '+14155550100',
"cost": 0.012,
"delivered_at": "2026-07-01T12:00:03Z"
}
Retrieve your current USD account balance to ensure you have sufficient funds before initiating large bulk campaigns.
curl -X GET "https://api.sms0x.com/v1/balance" \ -H "Authorization: Bearer YOUR_API_KEY"
const axios = require('axios'); axios.get('https://api.sms0x.com/v1/balance', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }).then(res => console.log(res.data));
$ch = curl_init('https://api.sms0x.com/v1/balance'); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer YOUR_API_KEY' ]); $response = curl_exec($ch); curl_close($ch);
{
"currency": "USD",
"balance": 142.50,
"status": "active"
}
We use standard HTTP response codes to indicate the success or failure of an API request.
| Code | Meaning |
|---|---|
| 200 OK | The request was successful. |
| 400 Bad Request | The request was invalid (e.g. missing required fields). |
| 401 Unauthorized | Invalid or missing API key. |
| 402 Payment Required | Account balance is too low to send the message. |