REST API

Send an SMS in One Request

No SDK. No boilerplate. Just a single HTTP call and your message is delivered through your own Android device. Integrate in minutes, not days.

Endpoint

POSThttps://app.smspipe.com/api/sms

Authentication

Every request must include your Account ID in the request header. Find yours in the SMSPipe dashboard under Settings → API.

Your Account ID grants full API access. Never expose it in client-side code, public repositories, or share it with anyone.


HeaderExample valueDescription
accountIdacc_xxxxxxxxxxxYour SMSPipe account identifier
Content-Typeapplication/jsonMust be application/json

Request Body

Send a JSON body with the following fields:

FieldTypeRequiredDescription
phonestringRequiredRecipient number in E.164 format — e.g. +306900000000
messagestringRequiredThe SMS text content to deliver
deviceIdstringOptionalID of the Android device to send from. Defaults to your first available device when omitted.
runAtstringOptionalISO 8601 timestamp to schedule delivery — e.g. 2026-03-15T10:00:00Z
timezonestringOptionalIANA timezone for interpreting runAt — e.g. Europe/Athens
prioritynumberOptionalDelivery priority. Higher values are processed before lower ones.

Code Examples

Pick your language and copy-paste the snippet. That's it.

curl -X POST https://app.smspipe.com/api/sms \
  -H "accountId: YOUR_ACCOUNT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+306900000000",
    "message": "Hello from API",
    "deviceId": "device-123",
    "runAt": "2026-03-15T10:00:00Z",
    "timezone": "Europe/Athens",
    "priority": 1
  }'

Response

A successful request returns 200 OK. The mode field indicates whether the message was sent immediately ("direct") or scheduled for later ("scheduled").

200 OK — Direct send
{
  "success": "Message accepted",
  "mode": "direct",
  "recipients": 1
}
200 OK — Scheduled send
{
  "success": "Message accepted",
  "mode": "scheduled",
  "recipients": 1
}

Tips

Instant delivery

Omit runAt and your message is delivered immediately.

Scheduled sends

Use runAt + timezone to schedule messages at the exact local time you want.

Multi-device routing

Skip deviceId and SMSPipe picks the first available device automatically.

Priority queuing

Set a higher priority to jump urgent messages to the front of the delivery queue.

Ready to send your first SMS?

Create a free account, connect your Android device, and you're live in under 5 minutes.