Начни здесь
Your first request in four steps
Create an account and copy the API key from the dashboard.
Install the mobile app and confirm that the device is online.
Send one test SMS with the /sendsms/ endpoint.
Store the returned message ID to correlate logs and delivery status.
Official mobile application
The secure bridge between your phone, dashboard and API.
SMS and call operations pass through the official SMSMobileAPI app installed on your connected phone. The app securely pairs the device with your account, synchronizes authorized events and links the mobile network to the dashboard and REST API.
- Signed releases distributed through the official Google Play and Apple App Store listings
- Google and Apple platform review, signing and distribution controls
- Secure device pairing, HTTPS transport and authenticated API access
- Only the permissions required for the mobile features you enable
Аутентификация
Keep credentials on your server
Every request accepts an API key through the apikey parameter. OAuth2 client credentials are also available for server-to-server integrations. Never expose a production key in browser code, public repositories or support messages.
POST · GET
Send an SMS
https://api.smsmobileapi.com/sendsms/Queues a message on a connected phone. POST is recommended when the message is long or contains special characters.
Use this for transactional messages, reminders, alerts and application-generated SMS.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
recipients |
phone | Необходимый | Destination number in international format. |
message |
нить | Необходимый | Message body. URL-encode it when using GET. |
port |
1 | 2 | Необязательный | SIM port on compatible Android devices; leave empty for automatic selection. |
sIdentifiant |
нить | Необязательный | Specific connected phone SID; leave empty for the first available device. |
shorturl |
0 | 1 | Необязательный | Set to 1 to shorten URLs found in the message. |
sendsms |
0 | 1 | Необязательный | SMS channel flag. Defaults to 1 when omitted. |
sendwa |
0 | 1 | Необязательный | Also request WhatsApp delivery when the account supports it. |
encrypt_message |
да | Необязательный | Encrypt the message for recipient-side protected reading. |
schedule_timestamp |
Unix seconds | Необязательный | UTC time from which the message may be sent. |
Request example
curl -X POST "https://api.smsmobileapi.com/sendsms/" \
-d "apikey=YOUR_API_KEY" \
-d "recipients=+1234567890" \
--data-urlencode "message=Your appointment is confirmed for tomorrow."
Пример ответа
{
"result": {
"error": 0,
"sent": "1",
"id": "c319d3b35e8f8712cde20dae39ac3c19f86eda25",
"note": "sent by mobile",
"datetime": "2026-03-20T21:07:44Z",
"port": null,
"send_with_whatsapp": "0"
}
}
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑- A successful API response means the message was accepted by the platform; keep the returned id for later tracking.
- Carrier delivery and mobile processing can happen after the HTTP response.
POST · GET
Повторно отправить неотправленное SMS
https://api.smsmobileapi.com/resend/Retries a message that is currently in an error state.
Use this after checking the sent log and confirming that a failed message is eligible for another attempt.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
guid |
нить | Необходимый | The message GUID returned by the send or log endpoint. |
Request example
curl "https://api.smsmobileapi.com/resend/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE"
Пример ответа
{
"result": {
"error": "0",
"sms": "resent with successfully",
"attempt": 1
}
}
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑- Only messages with an error status can be resent.
ПОЛУЧАТЬ
List SMS sent from the API
https://api.smsmobileapi.com/log/sent/sms/Returns messages submitted through the SMS API with queue, mobile and error information.
Use it for delivery monitoring, support diagnostics and reconciliation.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
guid_message |
нить | Необязательный | Return one message by its unique GUID. |
before |
timestamp or reference | Необязательный | Return messages before the supplied cursor or timestamp. |
error_api |
0 | 1 | Необязательный | Set to 1 to return API processing errors only. |
error_mobile |
0 | 1 | Необязательный | Set to 1 to return mobile sending errors only. |
keyword |
нить | Необязательный | Search the recipient number or message text. |
Request example
curl "https://api.smsmobileapi.com/log/sent/sms/?apikey=YOUR_API_KEY&guid_message=MESSAGE_GUID"
Пример ответа
{
"result": {
"error": "0",
"sms": [{
"sIdentifiantPhone": "508b004b4aadacc4",
"recipients": "+1234567890",
"sms": "Test message",
"guid_message": "MESSAGE_GUID",
"send_from_mobile": 1,
"error_api": "",
"send_from_mobile_erreur": ""
}]
}
}
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑
ПОЛУЧАТЬ
List SMS synchronized from a phone
https://api.smsmobileapi.com/log/sent/frommobile/Lists SMS physically sent by a mobile and synchronized with the platform.
Use it when messages may originate on the phone as well as through the API.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
date |
ГГГГ-ММ-ДД | Необязательный | Filter one exact date. |
date_from |
ГГГГ-ММ-ДД | Необязательный | Start of a date range. |
date_to |
ГГГГ-ММ-ДД | Необязательный | End of a date range. |
period |
enum | Необязательный | today, yesterday, last_24h, last_3days or last_7days. |
number |
phone | Необязательный | Filter by recipient. |
sIdentifiant |
нить | Необязательный | Filter by connected mobile SID. |
message |
нить | Необязательный | Filter by message content. |
search |
нить | Необязательный | Global search across mobile, number, message and timestamps. |
sort_by |
enum | Необязательный | sIdentifiant, number, message, mobile_date_ms, mobile_date_formatted or synchro_time. |
sort_order |
ASC | DESC | Необязательный | Sort direction. |
limit |
integer | Необязательный | Maximum 200 records. |
Request example
curl "https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&period=last_7days&limit=200"
Пример ответа
{
"result": {
"error": "0",
"count": 1,
"history_limit_days": 7,
"sms": [{
"sIdentifiant": "508b004b4aadacc4",
"number": "+15551234567",
"message": "Appointment confirmed.",
"mobile_date_ms": 1774041004692,
"synchro_time": "2026-03-20 21:10:05"
}]
}
}
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑- Requires Android app 4.1.20 or newer and must be enabled in the app.
- This endpoint returns a maximum of seven days of synchronized history.
ПОЛУЧАТЬ
List received SMS
https://api.smsmobileapi.com/getsms/Returns incoming SMS synchronized from connected phones.
Use it to build an inbox, poll for replies or recover messages after a webhook interruption.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
sIdentifiantPhone |
нить | Необязательный | Filter by the phone that received the SMS. |
after_timestamp_unix |
Unix seconds | Необязательный | Return messages received after this timestamp. |
onlyunread |
да | Необязательный | Return only messages not marked as read in API state. |
Request example
curl "https://api.smsmobileapi.com/getsms/?apikey=YOUR_API_KEY&onlyunread=yes"
Пример ответа
{
"result": {
"error": "",
"sms": [{
"id": 466340,
"sIdentifiantPhone": "508b004b4aadacc4",
"timestamp_unix": 1774041814,
"message": "Please call us back.",
"number": "+15551234567",
"guid": "6BFD7DC7-3492-422D-8D02-4AF4E614F122",
"alias": null
}]
}
}
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑
POST · GET
Mark a received SMS as read
https://api.smsmobileapi.com/getsms/set-read/Marks one received message as read in SMSMobileAPI API state.
Use this after your application has processed an incoming message.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
guid_message |
нить | Необходимый | GUID of the received SMS. |
Request example
curl "https://api.smsmobileapi.com/getsms/set-read/?apikey=YOUR_API_KEY&guid_message=MESSAGE_GUID"
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑- This does not change the read state inside the phone messaging application.
POST · GET
Update a received SMS alias
https://api.smsmobileapi.com/getsms/update/Adds, changes or clears the alias associated with a received SMS.
Use aliases to attach a contact name or application label to a message.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
guid |
нить | Необходимый | GUID of the received SMS. |
alias |
нить | Необходимый | New alias. Send an empty value to clear it. |
Request example
curl "https://api.smsmobileapi.com/getsms/update/?apikey=YOUR_API_KEY&guid=MESSAGE_GUID&alias=John%20Doe"
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑
POST · GET
Delete SMS server logs
https://api.smsmobileapi.com/deletesms/Deletes SMS records from the SMSMobileAPI server log.
Use it for retention workflows or removal of a specific logged message.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
guid_message |
нить | Необязательный | Delete one message by GUID. |
date_start |
ГГГГ-ММ-ДД | Необязательный | Delete records from this date. |
date_end |
ГГГГ-ММ-ДД | Необязательный | With date_start, limits the deletion range. |
Request example
curl "https://api.smsmobileapi.com/deletesms/?apikey=YOUR_API_KEY&guid_message=MESSAGE_GUID"
Пример ответа
{
"result": {
"error": null,
"count_delete": 1
}
}
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑- This deletes server log entries only. It does not delete messages stored on the mobile device.
- Treat this operation as destructive and verify filters before calling it.
ПОЛУЧАТЬ
Список SMS-сообщений
https://api.smsmobileapi.com/conversation/sms/list/Groups incoming and outgoing messages into conversations by phone number.
Use it for chat views, recent conversation widgets and support timelines.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
origineConversation |
received | sent | Необходимый | Dataset used to identify the starting conversations. |
numero |
phone | Необязательный | Return one phone-number conversation. |
date_from |
date or datetime | Необязательный | Start of the message range. |
date_to |
date or datetime | Необязательный | End of the message range. |
sort |
ASC | DESC | Необязательный | Conversation order; default DESC. |
limit |
integer | Необязательный | Conversation limit when numero is omitted; default 20. |
resume |
0 | 1 | Необязательный | Set to 1 to return only the latest messages per conversation. |
resume_line_how |
integer | Необязательный | Number of messages per conversation when resume=1. |
Request example
curl "https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&resume=1&resume_line_how=3"
Пример ответа
{
"success": true,
"origineConversation": "received",
"conversations": [{
"phone_number": "+15551234567",
"contact_alias": "John Doe",
"messages": [{
"direction": "incoming",
"message_id": "msg_1001",
"timestamp_utc": "2026-03-13T08:45:12Z",
"message": "I need more information.",
"status": "received",
"mobile_sid": "device_sid_1"
}]
}]
}
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑
ПОЛУЧАТЬ
Список подключенных мобильных устройств
https://api.smsmobileapi.com/gateway/mobile/list/Lists phones connected to the SMS gateway account.
Use it to select a sender, display device status or audit a gateway fleet.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
sid |
нить | Необязательный | Return one exact mobile SID. |
search |
нить | Необязательный | Search SID, date, battery, version, label and related fields. |
Request example
curl "https://api.smsmobileapi.com/gateway/mobile/list/?apikey=YOUR_API_KEY"
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑
POST · GET
Update a connected mobile
https://api.smsmobileapi.com/gateway/mobile/update/Updates the human-readable label or phone number of a connected device.
Use it to keep device labels meaningful in multi-phone installations.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
sid |
нить | Необходимый | The device SID. |
label |
нить | Необходимый | New label; it may be intentionally empty. |
phone_number |
phone | Необязательный | New phone-number metadata. |
Request example
curl "https://api.smsmobileapi.com/gateway/mobile/update/?apikey=YOUR_API_KEY&sid=DEVICE_SID&label=OfficePhone"
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑
POST · GET
Удалить подключенное мобильное устройство
https://api.smsmobileapi.com/gateway/mobile/delete/Removes a connected mobile and its gateway history rows.
Use only when a phone must be permanently removed from the account.
Параметры
| Имя | Тип | Requirement | Описание |
|---|---|---|---|
apikey |
нить | Необходимый | Your account API key. |
sid |
нить | Необходимый | SID of the device to remove. |
Request example
curl "https://api.smsmobileapi.com/gateway/mobile/delete/?apikey=YOUR_API_KEY&sid=DEVICE_SID"
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑- This operation removes device history associated with the SID. Confirm the device before calling it.
INBOUND POST
Receive SMS by webhook
Your HTTPS endpointSMSMobileAPI sends a JSON request to your configured URL whenever an SMS is received.
Use webhooks for real-time processing instead of frequent polling.
Receiver example
<?php
$payload = json_decode(file_get_contents('php://input'), true);
if (!is_array($payload) || empty($payload['guid'])) {
http_response_code(400);
exit('Invalid payload');
}
// Queue the event, then acknowledge quickly.
http_response_code(200);
echo 'OK';
Пример ответа
{
"date": "2026-03-20",
"hour": "10:15:00",
"time_received": "2026-03-20 10:14:50",
"message": "Hello, this is a test.",
"number": "+123456789",
"guid": "abcde12345"
}
This endpoint receives events at your own HTTPS URL. Use the receiver example above, then send an SMS to your connected phone to test it.
- Configure the public HTTPS URL in Dashboard → Webhook Settings.
- Return HTTP 200 quickly and process the event asynchronously.
- Deduplicate retries using guid.
Поиск неисправностей
Errors and safe retries
Read the HTTP status and the JSON error field before retrying. Do not retry validation or authentication failures without correcting the request first.
| HTTP | Код | What to do |
|---|---|---|
| 400 | missing_parameter | A required parameter is empty or absent. Check the parameter table for the endpoint. |
| 403 | invalid_apikey | The API key is unknown, expired or not authorized for the requested feature. |
| 429 | too_many_requests | Requests are arriving too quickly. Wait, then retry with exponential backoff. |
| 500 | server_error | The service could not complete the request. Keep the response and contact support if it persists. |
Нужна помощь?
Bring the request context—not your secrets.
Share the endpoint, timestamp, HTTP status and sanitized response. Never include API keys, tokens or private message content.


