Skip to main content
POST
sms.send

Authorizations

Authorization
string
header
required

API key: sk_live_…

Headers

Idempotency-Key
string
required

Required: this capability has an external effect.

Maximum string length: 255
Pramaan-Max-Price-Micro
string

Optional. The most this request may be priced at, in micro-USD (a whole number above 0). It replaces the capability's own price ceiling for this request, lower or higher. Sources that could cost more are left out; when none is left the answer is 400 with the lowest limit that would work.

Pattern: ^[1-9]\d{0,14}$
Pramaan-Account
string

Optional. One of your account ids (GET /v1/accounts): run on that account, whatever your routing rules say. The response header X-Pramaan-Account names the account that ran.

Pramaan-End-User
string

Optional. Your own tag for your end user: a sticky: end_user rule keeps them on the account that first served them.

Maximum string length: 256
Pramaan-End-User-Group
string

Optional. Your end user's group, matched by rules with endUserGroup.

Maximum string length: 64

Body

application/json
to
string
required

Recipient phone number in E.164 format, e.g. +14155550100.

Pattern: ^\+[1-9]\d{1,14}$
body
string
required

Message text, up to 1600 characters. Sent exactly as written.

Maximum string length: 1600
from
string

One of your own numbers (phone.numbers.list), in E.164 format. When omitted, a number of yours in the destination country is used, and one is provisioned for you if you have none.

Pattern: ^\+[1-9]\d{1,14}$

Response

The result

status
enum<string>
required

Whether the message was handed off or already sent.

Available options:
queued,
sent
from
string

The number it was sent from, in E.164 format.

ref
string

Reference to what this call created. Pass it as ref to sms.status.

batchRef
string

Handle of this row. Pass it as ref to sms.batch.get, sms.batch.cancel or sms.delivery-reports.list. Present where the text was sent as a batch.