Infrastrutture mobili già pro-produzioneHTTPS API · Android & iOS · Fine documentatoEsplora la piattaforma
PLATFORMAPI-prima architetturaAccoppiamento sicuro del dispositivoVisibilità della consegnaControllo multidispositivoDocumentazione del Versione
Mozzo di sviluppo/SMS API

SMS · 13 documented operations

SMS API documentation

Send and receive SMS, inspect delivery logs, build conversations and manage connected mobile gateways.

A smartphone connected to SMS and cloud gateway infrastructure
REST base URLhttps://api.smsmobileapi.com

JSON responses · HTTPS required · UTF-8

Connect your API key

Connect once, then test endpoints across SMS, calls, notifications, WhatsApp and email.

Inizia qui

Your first request in four steps

1

Create an account and copy the API key from the dashboard.

2

Install the mobile app and confirm that the device is online.

3

Send one test SMS with the /sendsms/ endpoint.

4

Store the returned message ID to correlate logs and delivery status.

The secure SMSMobileAPI mobile app connecting a phone to the web dashboard and REST API for SMS and call operations
Encrypted mobile-to-platform connection

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.

1Mobile appPairs the phone and its SIM 2Encrypted linkAuthenticates and protects data in transit 3Dashboard & APIControls workflows and activity
  • 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
Get the official SMSMobileAPI app on Google Play Download the official SMSMobileAPI app on the Apple App Store
Capabilities depend on the permissions and background access allowed by Android or iOS.

Autenticazione

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

#
ENDPOINThttps://api.smsmobileapi.com/sendsms/

Queues a message on a connected phone. POST is recommended when the message is long or contains special characters.

When to use it

Use this for transactional messages, reminders, alerts and application-generated SMS.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
recipients phone Necessario Destination number in international format.
message corda Necessario Message body. URL-encode it when using GET.
port 1 | 2 Opzionale SIM port on compatible Android devices; leave empty for automatic selection.
sIdentifiant corda Opzionale Specific connected phone SID; leave empty for the first available device.
shorturl 0 | 1 Opzionale Set to 1 to shorten URLs found in the message.
sendsms 0 | 1 Opzionale SMS channel flag. Defaults to 1 when omitted.
sendwa 0 | 1 Opzionale Also request WhatsApp delivery when the account supports it.
encrypt_message Opzionale Encrypt the message for recipient-side protected reading.
schedule_timestamp Unix seconds Opzionale UTC time from which the message may be sent.

Request example

cURL
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."

Esempio di risposta

JSON
{
  "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 ↑
Good to know
  • 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

Reinvia un SMS non inviato

#
ENDPOINThttps://api.smsmobileapi.com/resend/

Retries a message that is currently in an error state.

When to use it

Use this after checking the sent log and confirming that a failed message is eligible for another attempt.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
guid corda Necessario The message GUID returned by the send or log endpoint.

Request example

cURL
curl "https://api.smsmobileapi.com/resend/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE"

Esempio di risposta

JSON
{
  "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 ↑
Good to know
  • Only messages with an error status can be resent.
OTTENERE

List SMS sent from the API

#
ENDPOINThttps://api.smsmobileapi.com/log/sent/sms/

Returns messages submitted through the SMS API with queue, mobile and error information.

When to use it

Use it for delivery monitoring, support diagnostics and reconciliation.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
guid_message corda Opzionale Return one message by its unique GUID.
before timestamp or reference Opzionale Return messages before the supplied cursor or timestamp.
error_api 0 | 1 Opzionale Set to 1 to return API processing errors only.
error_mobile 0 | 1 Opzionale Set to 1 to return mobile sending errors only.
keyword corda Opzionale Search the recipient number or message text.

Request example

cURL
curl "https://api.smsmobileapi.com/log/sent/sms/?apikey=YOUR_API_KEY&guid_message=MESSAGE_GUID"

Esempio di risposta

JSON
{
  "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 ↑
OTTENERE

List SMS synchronized from a phone

#
ENDPOINThttps://api.smsmobileapi.com/log/sent/frommobile/

Lists SMS physically sent by a mobile and synchronized with the platform.

When to use it

Use it when messages may originate on the phone as well as through the API.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
date AAAA-MM-GG Opzionale Filter one exact date.
date_from AAAA-MM-GG Opzionale Start of a date range.
date_to AAAA-MM-GG Opzionale End of a date range.
period enum Opzionale today, yesterday, last_24h, last_3days or last_7days.
number phone Opzionale Filter by recipient.
sIdentifiant corda Opzionale Filter by connected mobile SID.
message corda Opzionale Filter by message content.
search corda Opzionale Global search across mobile, number, message and timestamps.
sort_by enum Opzionale sIdentifiant, number, message, mobile_date_ms, mobile_date_formatted or synchro_time.
sort_order ASC | DESC Opzionale Sort direction.
limit integer Opzionale Maximum 200 records.

Request example

cURL
curl "https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&period=last_7days&limit=200"

Esempio di risposta

JSON
{
  "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 ↑
Good to know
  • 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.
OTTENERE

List received SMS

#
ENDPOINThttps://api.smsmobileapi.com/getsms/

Returns incoming SMS synchronized from connected phones.

When to use it

Use it to build an inbox, poll for replies or recover messages after a webhook interruption.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
sIdentifiantPhone corda Opzionale Filter by the phone that received the SMS.
after_timestamp_unix Unix seconds Opzionale Return messages received after this timestamp.
onlyunread Opzionale Return only messages not marked as read in API state.

Request example

cURL
curl "https://api.smsmobileapi.com/getsms/?apikey=YOUR_API_KEY&onlyunread=yes"

Esempio di risposta

JSON
{
  "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

#
ENDPOINThttps://api.smsmobileapi.com/getsms/set-read/

Marks one received message as read in SMSMobileAPI API state.

When to use it

Use this after your application has processed an incoming message.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
guid_message corda Necessario GUID of the received SMS.

Request example

cURL
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 ↑
Good to know
  • This does not change the read state inside the phone messaging application.
POST · GET

Update a received SMS alias

#
ENDPOINThttps://api.smsmobileapi.com/getsms/update/

Adds, changes or clears the alias associated with a received SMS.

When to use it

Use aliases to attach a contact name or application label to a message.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
guid corda Necessario GUID of the received SMS.
alias corda Necessario New alias. Send an empty value to clear it.

Request example

cURL
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

#
ENDPOINThttps://api.smsmobileapi.com/deletesms/

Deletes SMS records from the SMSMobileAPI server log.

When to use it

Use it for retention workflows or removal of a specific logged message.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
guid_message corda Opzionale Delete one message by GUID.
date_start AAAA-MM-GG Opzionale Delete records from this date.
date_end AAAA-MM-GG Opzionale With date_start, limits the deletion range.

Request example

cURL
curl "https://api.smsmobileapi.com/deletesms/?apikey=YOUR_API_KEY&guid_message=MESSAGE_GUID"

Esempio di risposta

JSON
{
  "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 ↑
Good to know
  • 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.
OTTENERE

Elenco delle conversazioni SMS

#
ENDPOINThttps://api.smsmobileapi.com/conversation/sms/list/

Groups incoming and outgoing messages into conversations by phone number.

When to use it

Use it for chat views, recent conversation widgets and support timelines.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
origineConversation received | sent Necessario Dataset used to identify the starting conversations.
numero phone Opzionale Return one phone-number conversation.
date_from date or datetime Opzionale Start of the message range.
date_to date or datetime Opzionale End of the message range.
sort ASC | DESC Opzionale Conversation order; default DESC.
limit integer Opzionale Conversation limit when numero is omitted; default 20.
resume 0 | 1 Opzionale Set to 1 to return only the latest messages per conversation.
resume_line_how integer Opzionale Number of messages per conversation when resume=1.

Request example

cURL
curl "https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&resume=1&resume_line_how=3"

Esempio di risposta

JSON
{
  "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 ↑
OTTENERE

Elenca i cellulari connessi

#
ENDPOINThttps://api.smsmobileapi.com/gateway/mobile/list/

Lists phones connected to the SMS gateway account.

When to use it

Use it to select a sender, display device status or audit a gateway fleet.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
sid corda Opzionale Return one exact mobile SID.
search corda Opzionale Search SID, date, battery, version, label and related fields.

Request example

cURL
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

#
ENDPOINThttps://api.smsmobileapi.com/gateway/mobile/update/

Updates the human-readable label or phone number of a connected device.

When to use it

Use it to keep device labels meaningful in multi-phone installations.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
sid corda Necessario The device SID.
label corda Necessario New label; it may be intentionally empty.
phone_number phone Opzionale New phone-number metadata.

Request example

cURL
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

Elimina un cellulare connesso

#
ENDPOINThttps://api.smsmobileapi.com/gateway/mobile/delete/

Removes a connected mobile and its gateway history rows.

When to use it

Use only when a phone must be permanently removed from the account.

Parametri

NomeTipoRequirementDescrizione
apikey corda Necessario Your account API key.
sid corda Necessario SID of the device to remove.

Request example

cURL
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 ↑
Good to know
  • This operation removes device history associated with the SID. Confirm the device before calling it.
INBOUND POST

Receive SMS by webhook

#
DESTINATIONYour HTTPS endpoint

SMSMobileAPI sends a JSON request to your configured URL whenever an SMS is received.

When to use it

Use webhooks for real-time processing instead of frequent polling.

Receiver example

PHP 8
<?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';

Esempio di risposta

JSON
{
  "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"
}
Inbound endpoint

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.

Good to know
  • Configure the public HTTPS URL in Dashboard → Webhook Settings.
  • Return HTTP 200 quickly and process the event asynchronously.
  • Deduplicate retries using guid.

Risoluzione dei problemi

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.

HTTPCodiceWhat to do
400missing_parameterA required parameter is empty or absent. Check the parameter table for the endpoint.
403invalid_apikeyThe API key is unknown, expired or not authorized for the requested feature.
429too_many_requestsRequests are arriving too quickly. Wait, then retry with exponential backoff.
500server_errorThe service could not complete the request. Keep the response and contact support if it persists.
Retry ruleRetry only transient 429 and 5xx responses. Start after 1 second, then back off to 2, 4 and 8 seconds.

Hai bisogno di aiuto?

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.

Contact API support →