Start here
Your first request in four steps
Configure a mailbox in the dashboard.
Copy both apikey and the mailbox apikeybox.
Send a simple text email first.
Add attachments or embedded images only after the basic request works.
WEBHOOK V2 TIL DENNE API
Abonner kun på de mobilhændelser, dit workflow har brug for.
En destination kan modtage alt, eller du kan adskille produktionssystemer, analytics og operationelle advarsler. Hver hændelse har et præcist navn, så din applikation kan håndtere den forudsigeligt.
email.sentE-mail sendt
En anmodning om at sende e-mail blev oprettet af SMSMobileAPI.
email.receivedE-mail modtaget
En tilsluttet postkasse modtog en e-mail.
Authentication
Keep credentials on your server
Email endpoints require the account apikey and the mailbox-specific apikeybox. Store both credentials server-side and mask them in application logs.
Historiestyring
Ryd historik sikkert: preview, slette, følg fremskridt
Disse endepunkter rydder den valgte serverhistorik for din API nøgle, ikke beskeder på telefoner eller eksterne tjenester. De leverer ikke kontoudslettelse. Ny aktivitet kan forekomme efter sletning.
Læs request_id og prøv igen
Som standard forbliver linkede eller behandlede optegnelser synlige. Kun til brug include_linked=1 hvis du accepterer, at integration eller igangværende behandling kan stoppe med at virke.
Hvordan virker request_id
- Vis forhåndsvisning af tællingerne med action=previewNej. request_id er nødvendige, og ingen optegnelser er slettet.
- Generér en unik request_id for en ny sletning, for eksempel en UUID. Gem det før du sender action=delete.
- til genforsøg, timeouts eller HTTP 202, genbrug det samme API nøgletal, historikendepunkt, request_id og include_linked værdi. Opret aldrig et nyt ID automatisk efter en fejl.
- Hvornår completed=true, operationen er færdig. Genbrug af sin ID giver det samme resultat i stedet for at slette nyligt ankommet optegnelser. Brug kun et nyt ID til en bevidst ny oprydning.
request_id identificerer din sletning operation, ikke en individuel SMS. Tilladt format: 16-128 ASCII bogstaver, tal, bindestreger eller underpointsum. A UUID genereres med crypto.randomic UID () er egnet.
Sletningen sker i portioner. Ved HTTP 202 med continue_required=true skal action=delete gentages efter 3 sekunder. Der kører intet cron-job i baggrunden. action=status læser kun fremdriften og fortsætter ikke sletningen, heller ikke ved HTTP 200.
Eksempler på sletning og status
Udskift prøven request_id med din egen unikke værdi før start. Følgende slette anmodninger ændre real konto historie; de er ikke previews.
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=delete" -d "include_linked=0" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
-H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
-d "action=delete" -d "include_linked=0" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"curl -G "https://api.smsmobileapi.com/delete-history-email/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=status" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"GET accepterer også action=preview eller action=delete. POST anbefales: URL-parametre kan lække ind i browserens historik og serverlogfiler. Placer aldrig en sletning URL i et offentligt link, billede eller pre-hentning.
For POST, send alle parametre i formularen organ eller et JSON objekt, aldrig i forespørgselsstrengen. Ukendt parametre afvises; dato eller mobile filtre understøttes ikke.
Godkendelse af historikendepunkter
Anvendelse apikey eller Authorization: Bearer adgangskort udstedt af SMSMobileAPI OAuth2. Send ikke en genfriskning eller en API nøgle som en Bearer - En token. Udløb tokens er nægtet.
Når der er sat en række områder, history:read tillader forhåndsvisning / status og history:delete giver også mulighed for sletning. Begrænsninger på både token og OAuth klienten ansøge. Legacy tokens uden scope bevarer deres eksisterende konto adgang.
OAuth2 vælger den unikke primære API - nøgle. Hvis flere primære nøgler findes, også give apikey til at vælge en tilhørende kontoen. Sekundære nøgler giver aldrig adgang til den primære nøglehistorie.
Læs svaret før du fortsætter
count_delete er det kumulative antal, der er fjernet ved denne operation. selected_at_start er den oprindelige udvælgelse protected_at_start antal udelukkede registreringer. Anvendelse preview.linked_or_processing til at tælle tilknyttede poster, selv når include_linked=1.
{
"result": {
"error": 0,
"history": "email",
"action": "delete",
"request_id": "6d54ac58-41f1-4fbc-9a39-6e6c86089451",
"status": "processing",
"completed": false,
"count_delete": 100,
"total_before": 250,
"selected_at_start": 200,
"protected_at_start": 50,
"include_linked": 0,
"continue_required": true,
"message": "Repeat GET or POST with the same request_id and include_linked to continue. Status requests do not run deletion."
}
}- 200 med completed=true: færdig. En 200 preview eller status respons alene beviser ikke afslutning.
- 400 INVALID_REQUEST_ID: Kontroller formatet. 404 REQUEST_NOT_FOUND: der findes ingen operation for dette id API Nøgle og historie.
- 401: ugyldige eller udløbne legitimationsoplysninger. 403: utilstrækkelig OAuth omfang eller uautoriseret konto.
- 409 HISTORY_BUSY: en anden oprydning kører; fortsætte det fra den oprindelige klient. 409 INCLUDE_LINKED_CONFLICT: gendannelse af originalen include_linked værdi.
- 409 OAUTH_ACCOUNT_AMBIGUOUS: giv en API-nøgle, der tilhører denne konto.
- 503 eller afbrydelse af nettet: nogle partier kan allerede være færdige. Kontrollér konfiguration, og prøv derefter igen med originalen request_id. Opret ikke en udskiftning operation automatisk.
POST
Send an email
https://api.smsmobileapi.com/sendemail/Sends plain-text or HTML email through a configured mailbox.
Use it for transactional or operational email from your application.
Parameters
| Navn | Type | Requirement | Description |
|---|---|---|---|
apikey |
string | Required | Your account API key. |
apikeybox |
string | Required | API key of the configured mailbox. |
sender_name |
string | Required | Display name of the sender. |
sender_email |
Required | Sender email address. | |
recipient_email |
Required | Recipient address. | |
mail_subject |
string | Required | Email subject. |
mail_body |
string | Required | Plain text or HTML body. |
allow_self_signed |
yes | no | Required | Set to yes only when the configured mail server uses a trusted internal self-signed certificate. |
unsubscribe |
1 | Valgfrit | Adds unsubscribe terms and a link. |
email_cc1 |
Valgfrit | First optional CC recipient. | |
email_cc2 |
Valgfrit | Second optional CC recipient. | |
email_cc3 |
Valgfrit | Third optional CC recipient. | |
attachmentBase64 |
base64 | Valgfrit | Base64-encoded attachment content. |
attachmentBase64_name_1 |
filename | Valgfrit | Original attachment file name with extension, for example invoice.pdf. Required when attachmentBase64 has a value. |
charset |
string | Valgfrit | Character set; default UTF-8. |
embeddedImage |
HTTPS URL | Valgfrit | Image to embed in the email. |
embeddedImage_cid |
string | Valgfrit | Content-ID referenced from the HTML body. |
format |
string | Valgfrit | Requested response format. |
reply_name |
string | Valgfrit | Reply-to display name. |
reply_email |
Valgfrit | Reply-to address. |
Request example
curl -X POST "https://api.smsmobileapi.com/sendemail/" \
-d "apikey=YOUR_API_KEY" \
-d "apikeybox=YOUR_MAILBOX_KEY" \
--data-urlencode "sender_name=Example Team" \
-d "sender_email=team@example.com" \
-d "recipient_email=customer@example.net" \
--data-urlencode "mail_subject=Order confirmation" \
--data-urlencode "mail_body=Your order has been confirmed." \
--data-urlencode "attachmentBase64=BASE64_FILE_CONTENT" \
-d "attachmentBase64_name_1=invoice.pdf" \
-d "allow_self_signed=no"
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑- Prefer POST because email bodies can be long.
- If attachmentBase64 is provided, attachmentBase64_name_1 is required and must include the file extension.
- Base64 attachments can make requests large; apply sensible size limits in your application.
GET
Retrieve emails
https://api.smsmobileapi.com/getemail/Retrieves messages from a configured mailbox folder.
Use it to synchronize inbound email into a help desk or application workflow.
Parameters
| Navn | Type | Requirement | Description |
|---|---|---|---|
apikey |
string | Required | Your account API key. |
apikeybox |
string | Required | Mailbox API key. |
mbox |
string | Required | Mailbox folder, for example INBOX. |
start |
integer | Required | Starting index; use 0 for the first page. |
Request example
curl "https://api.smsmobileapi.com/getemail/?apikey=YOUR_API_KEY&apikeybox=YOUR_MAILBOX_KEY&mbox=INBOX&start=0"
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑- Responses include available subject, sender, recipient, body, timestamp and attachment details.
GET
Check unsubscribed contacts
https://api.smsmobileapi.com/email/unsubscribed/Checks unsubscribe records generated by emails sent through the platform.
Use it before sending campaigns and when synchronizing suppression lists.
Parameters
| Navn | Type | Requirement | Description |
|---|---|---|---|
apikey |
string | Required | Your account API key. |
apikeybox |
string | Required | Mailbox API key. |
email |
Valgfrit | Filter one contact. An empty result means no unsubscribe record was found. |
Request example
curl "https://api.smsmobileapi.com/email/unsubscribed/?apikey=YOUR_API_KEY&apikeybox=YOUR_MAILBOX_KEY&email=customer@example.net"
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑- Keep your own recipient database synchronized with unsubscribe results.
- You remain responsible for applicable anti-spam and privacy rules.
POST · GET
Ryd historikken for sendte e-mails
https://api.smsmobileapi.com/delete-history-email/Rydder sendt e-mail-logs til dette API Nøglen på tværs af postkasser. Det sletter ikke beskeder i en postkasse. Nej apikeybox er påkrævet.
Brug preview først, kontrollere tællingerne, derefter udtrykkeligt anmode om sletning. Dette fjerner hele den valgte historik for API nøgle, uden dato, telefon eller besked filtre.
Parameters
| Navn | Type | Requirement | Description |
|---|---|---|---|
apikey |
string | Valgfrit | Krævet uden OAuth2. Med OAuth2 vælges en API-nøgle, der tilhører samme konto. |
action |
preview | delete | status | Valgfrit | preview tæller uden at slette; delete starter eller fortsætter sletningen; status viser kun fremdriften. API’en bruger som standard delete; denne tester bruger preview. |
include_linked |
0 | 1 | Valgfrit | Standard 0: hold forbundne eller behandle optegnelser. Sæt 1 til at inkludere dem, med en risiko for at bryde integreringer. Hold denne værdi uændret, når du fortsætter en sletning. |
request_id |
string | Valgfrit | Påkrævet til delete og status, valgfrit til preview. Brug 16–128 ASCII-bogstaver, cifre, bindestreger (-) eller understregninger (_). Opret ét unikt ID for hver ny sletning, og behold det ved alle gentagelser. Det er hverken et besked-ID eller en API-nøgle. |
Request example
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=preview" -d "include_linked=0"
Eksempler på sletning og status
Udskift prøven request_id med din egen unikke værdi før start. Følgende slette anmodninger ændre real konto historie; de er ikke previews.
curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=delete" -d "include_linked=0" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"curl -X POST "https://api.smsmobileapi.com/delete-history-email/" \
-H "Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN" \
-d "action=delete" -d "include_linked=0" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"curl -G "https://api.smsmobileapi.com/delete-history-email/" \
--data-urlencode "apikey=YOUR_API_KEY" \
-d "action=status" \
-d "request_id=6d54ac58-41f1-4fbc-9a39-6e6c86089451"Example response
{
"result": {
"error": 0,
"history": "email",
"action": "preview",
"total": 120,
"simple": 100,
"linked_or_processing": 20,
"selected": 100,
"include_linked": 0,
"operation_in_progress": false,
"active_include_linked": null
}
}
Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.
Connect key ↑- Eksemplet ovenfor er en forhåndsvisning, ikke en sletning. Tællinger er illustrative; den endelige markering er fast, når sletning starter.
- include_linked=1 kan forstyrre GHL, Zapier, automatiseringer, afmeld links eller leveringssporing. Det aldrig forbigår konto ejerskab eller opbevaring integritet kontrol.
Troubleshooting
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 | Code | 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. |
Need help?
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.
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


