Your SMS are sent from your own mobile.See how it works
PLATFORMAPI-first architectureSecure device pairingDelivery visibilityMulti-device controlVersioned documentation
Developer hub / Workflow Studio API

FLOW · 4 documented operations

Workflow Studio API documentation

List Workflow Studio automations, activate or pause them, manage mobile favorites and inspect execution logs from your own software.

Workflow Studio events, conditions and actions connected through the API
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.

Start here

Your first request in four steps

1

Create at least one workflow in Workflow Studio from the dashboard or mobile app.

2

Call the list endpoint with your account API key and keep the public workflow_uuid.

3

Use the state or favorite endpoint to update that exact workflow.

4

Retrieve its execution logs to follow conditions, actions, errors and credit status.

ONE WORKFLOW, EVERY INTERFACE

Control the same automations everywhere.

Account scoped

The API reads and updates the exact workflows used by the dashboard, the SMSMobileAPI mobile app and the asynchronous Workflow Studio worker. A state or favorite change is therefore visible everywhere without copying a definition.

LIST

Discover workflows

Retrieve identifiers, triggers, schedules, conditions, actions and execution counters.

CONTROL

Activate or pause

Build safe operational switches while keeping every workflow definition intact.

FAVORITE

Manage mobile modes

Choose which workflows appear as quick controls on the mobile app home screen.

LOGS

Follow each execution

Inspect decisions, action attempts, errors, completion and credit consumption.

Authentication

Keep credentials on your server

Send your account API key in the apikey parameter or as Authorization: Bearer YOUR_API_KEY. Every workflow lookup is scoped to that authenticated account. Keep the key on your server and never publish it in browser code, repositories, screenshots or public URLs.

Before you integrate
  • State and favorite changes are immediately shared with the dashboard and SMSMobileAPI mobile app.
  • Internal MySQL row identifiers are never exposed. Use the public workflow_uuid for every workflow operation.
  • Pausing a workflow prevents it from matching future events. It does not cancel actions that were already queued.
  • All dates returned by these endpoints use UTC.
GET

List Workflow Studio workflows

#
ENDPOINThttps://api.smsmobileapi.com/workflow/list/

Returns the workflows owned by the authenticated account, including their state, favorite flag, trigger, schedule, conditions, actions and execution counters.

When to use it

Use it to build a workflow selector, synchronize another management interface or retrieve identifiers before calling another Workflow Studio endpoint.

Parameters

NameTypeRequirementDescription
apikey string Required Your account API key. You may instead use an Authorization: Bearer header.
page integer Optional Page number. Default 1.
per_page integer Optional Rows per page. Default 25, maximum 100.
search string Optional Search the workflow name, description or UUID.
event_type string Optional Return only workflows using this exact event, for example sms.received.
active boolean Optional Use 1 or 0 to filter active or paused workflows.
favorite boolean Optional Use 1 or 0 to filter mobile favorites.
include_definition boolean Optional Default 1. Set to 0 to omit conditions, actions and schedule details.

Request example

cURL
curl "https://api.smsmobileapi.com/workflow/list/?apikey=YOUR_API_KEY&active=1&per_page=25"

Example response

JSON
{
  "success": true,
  "data": [
    {
      "workflow_uuid": "wf_0123456789abcdef0123456789abcdef",
      "name": "Reply after a missed call",
      "event_type": "call.missed",
      "active": true,
      "favorite": true,
      "conditions": [],
      "actions": [{"type":"send_sms","config":{"recipient":"{{data.number}}","message":"We will call you back shortly."}}],
      "run_count": 18,
      "success_count": 18,
      "failed_count": 0
    }
  ],
  "pagination": {"page":1,"per_page":25,"total":1,"pages":1,"has_more":false},
  "request_id": "wfreq_4d9b7d7b2b8b384b2ad6f237"
}

Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.

Connect key ↑
POST

Activate or pause a workflow

#
ENDPOINThttps://api.smsmobileapi.com/workflow/state/

Changes whether one account-owned workflow listens for future events.

When to use it

Use it to expose a controlled on/off switch in your own application or activate operational modes from another system.

Parameters

NameTypeRequirementDescription
apikey string Required Your account API key. You may instead use an Authorization: Bearer header.
workflow_uuid string Required Public, stable workflow identifier returned by the list endpoint.
active boolean Required 1 activates the workflow; 0 pauses it.

Request example

cURL
curl -X POST "https://api.smsmobileapi.com/workflow/state/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"workflow_uuid":"wf_0123456789abcdef0123456789abcdef","active":true}'

Example response

JSON
{
  "success": true,
  "message": "Workflow activated.",
  "workflow": {"workflow_uuid":"wf_0123456789abcdef0123456789abcdef","active":true,"favorite":true},
  "applies_to": "future_events",
  "request_id": "wfreq_250c732826cc1833e28cf1cc"
}

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 never changes the workflow definition.
  • Already queued actions are not cancelled when a workflow is paused.
POST

Add or remove a mobile favorite

#
ENDPOINThttps://api.smsmobileapi.com/workflow/favorite/

Controls whether a workflow is displayed among the favorites available from the SMSMobileAPI mobile app home screen.

When to use it

Use it to create quick-access modes such as Driving, Work, Family or On-call.

Parameters

NameTypeRequirementDescription
apikey string Required Your account API key. You may instead use an Authorization: Bearer header.
workflow_uuid string Required Public, stable workflow identifier returned by the list endpoint.
favorite boolean Required 1 adds the workflow to favorites; 0 removes it.

Request example

cURL
curl -X POST "https://api.smsmobileapi.com/workflow/favorite/" \
  -d "apikey=YOUR_API_KEY" \
  -d "workflow_uuid=wf_0123456789abcdef0123456789abcdef" \
  -d "favorite=1"

Example response

JSON
{
  "success": true,
  "message": "Workflow added to mobile favorites.",
  "workflow": {"workflow_uuid":"wf_0123456789abcdef0123456789abcdef","active":true,"favorite":true},
  "request_id": "wfreq_a9175f9b864aab7b998325b7"
}

Want to run this request? Connect your API key at the top of the page to unlock the interactive tester.

Connect key ↑
GET

List one workflow’s execution logs

#
ENDPOINThttps://api.smsmobileapi.com/workflow/logs/

Returns paginated runs for one workflow with the event, status, condition trace, action attempts, errors and billing state.

When to use it

Use it to display recent activity, diagnose a failed action or confirm that a workflow matched the expected event.

Parameters

NameTypeRequirementDescription
apikey string Required Your account API key. You may instead use an Authorization: Bearer header.
workflow_uuid string Required Public, stable workflow identifier returned by the list endpoint.
status string Optional Filter by matched, skipped, queued, running, completed, failed, cancelled, credit_required or test.
page integer Optional Page number. Default 1.
per_page integer Optional Rows per page. Default 25, maximum 100.
include_details boolean Optional Default 1. Set to 0 to omit input and condition trace details.

Request example

cURL
curl "https://api.smsmobileapi.com/workflow/logs/?apikey=YOUR_API_KEY&workflow_uuid=wf_0123456789abcdef0123456789abcdef&status=completed&per_page=25"

Example response

JSON
{
  "success": true,
  "workflow": {"workflow_uuid":"wf_0123456789abcdef0123456789abcdef","name":"Reply after a missed call","event_type":"call.missed","active":true},
  "data": [
    {
      "event_uuid": "evt_01J8EXAMPLE9Q4V",
      "event_type": "call.missed",
      "status": "completed",
      "test_mode": false,
      "credit_status": "consumed",
      "created_at": "2026-10-06 08:14:21",
      "finished_at": "2026-10-06 08:14:22",
      "actions": [{"action_index":0,"action_type":"send_sms","status":"completed","attempts":1}]
    }
  ],
  "pagination": {"page":1,"per_page":25,"total":1,"pages":1,"has_more":false},
  "request_id": "wfreq_0a53eab7bef30e5ba52a0f86"
}

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 completed run represents a successfully finalized workflow execution.
  • The request_id can be included in a support request without revealing the API key.

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.

HTTPCodeWhat to do
400missing_apikeyNo apikey parameter or Bearer token was supplied.
401invalid_apikeyThe API key is unknown or disabled.
404workflow_not_foundThe workflow does not exist or does not belong to the authenticated account.
422invalid_parameterA state, favorite, identifier, status or filter value is invalid.
423confidential_mode_activeStandard API access is locked while Confidential Mode is active.
503service_unavailableWorkflow Studio storage or account validation is temporarily unavailable.
Retry ruleRetry only transient 429 and 5xx responses. Start after 1 second, then back off to 2, 4 and 8 seconds.

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.

Contact API support →
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.