Documentation for the SMS Queue and App Version APIs
SMS Queue endpoints require authentication via an API token passed in the URL path:
/api/{your-api-token}/endpoint
You can find your 64-character API token in your dashboard settings.
Note: App Version endpoints (/api/app-version, /api/app-versions, /download/*) are public and do not require authentication.
API requests are limited to 60 requests per minute per API token.
These endpoints are public and do not require authentication.
/api/app-version
Get the currently active app version information.
{
"version": "1.2.0",
"versionCode": 5,
"downloadUrl": "https://apitosms.com/download/app.apk",
"releaseNotes": "- Bug fixes\n- Performance improvements",
"fileSize": 15728640,
"publishedAt": "2026-01-26T12:00:00+00:00"
}
{
"error": "No active version available",
"code": "no_active_version"
}
/api/app-versions
List all published app versions, sorted by version code (newest first).
{
"versions": [
{
"version": "1.2.0",
"versionCode": 5,
"isActive": true,
"downloadUrl": "https://apitosms.com/api/download/5",
"releaseNotes": "- Bug fixes",
"fileSize": 15728640,
"publishedAt": "2026-01-26T12:00:00+00:00"
}
]
}
/download/app.apk
Download the currently active APK file.
Content-Type |
application/vnd.android.package-archive |
Content-Disposition |
attachment; filename="app-v1.2.0.apk" |
Note: Returns the binary APK file for direct download. Each download increments the download counter.
/api/download/{version_code}
Download a specific APK version by its version code.
| Parameter | Required | Description |
|---|---|---|
version_code |
Yes | Numeric version code (e.g., 5) |
{
"error": "Version not found",
"code": "version_not_found"
}
These endpoints require API token authentication.
/api/{api_token}/queue
Add one or more SMS messages to the queue.
[
{
"phone": "+1234567890",
"message": "Hello, this is a test message"
},
{
"phone": "0712345678",
"message": "Another test message"
}
]
| Field | Required | Rules |
|---|---|---|
phone |
Yes | 6-20 digits, optionally starting with + |
message or text |
Yes | Max 1000 characters |
{
"ok": true,
"queued": 2,
"failed": 0,
"items": [
{ "index": 0, "hash": "a1b2c3d4e5f67890", "phone": "+1234567890" },
{ "index": 1, "hash": "f8e7d6c5b4a32109", "phone": "0712345678" }
],
"errors": []
}
/api/{api_token}/get_messages
Retrieve pending SMS messages from the queue. Messages are returned in FIFO order and automatically marked as "initiated".
| Parameter | Required | Default | Description |
|---|---|---|---|
limit |
No | 20 | Number of messages to retrieve (max 200) |
[
{
"phone": "+1234567890",
"text": "Hello, this is a test message",
"hash": "a1b2c3d4e5f67890"
}
]
Note: Once retrieved, messages are marked as "initiated" (status 1).
Use the /status endpoint to report delivery success or failure.
/api/{api_token}/status
Update the delivery status of one or more SMS messages.
{
"device": "MyPhone",
"messages": [
{ "hash": "a1b2c3d4e5f67890", "status": 2 },
{ "hash": "f8e7d6c5b4a32109", "status": 3 }
]
}
| Field | Required | Description |
|---|---|---|
device |
No | Device name that sent the messages (max 15 chars) |
messages |
Yes | Array of status updates |
messages[].hash |
Yes | Message hash from queue |
messages[].status |
Yes | Status code (2 = success, 3 = fail) |
| Status | Meaning |
|---|---|
0 |
New (default, cannot set via API) |
1 |
Initiated (set automatically on retrieval) |
2 |
Sent - Message delivered |
3 |
Failed - Message failed to deliver |
{
"ok": true,
"updated": 2
}
{ "error": "Invalid API token" }
{
"error": "No active subscription",
"code": "subscription_required"
}
{
"error": "SMS limit exceeded for this month",
"code": "limit_exceeded",
"limit": 1000,
"used": 1000
}
{
"ok": false,
"queued": 0,
"failed": 1,
"items": [],
"errors": [
{ "index": 0, "error": "Invalid phone format" }
]
}
Ready-made plugins for popular e-commerce platforms. Each plugin connects to the same API documented above — no extra configuration needed beyond your API token.
Automatic SMS on order status changes, custom message templates with placeholders, admin alerts, opt-out checkbox, custom "Shipped" status with tracking, SMS log, and developer hooks.
Magento 2 module with automatic order notifications, admin SMS panel, delivery tracking integration, and configurable message templates per order status.
composer require codecodac/magento-apitosmsPrestaShop module with automatic SMS on order status changes, admin panel integration, configurable templates, and customer phone validation.
Shopify webhook integration for automatic order notification SMS. Connects to Shopify's webhook system to trigger messages on order creation and status updates.
© 2026 API to SMS. All rights reserved.