Two calls cover most integrations
POST to send a message, GET to check its status. Same host, same Token header, JSON throughout.
What you can call
POST /external/sms
Send a message. Body: from, to and content. Returns a msgid and an errorcode.
GET /report
Read the status of a message, for example status=Delivrd for delivered messages.
Direction
mt is a message you sent; mo is a reply you received. Both use the same message shape.
Encoding and length
160 characters on GSM7, 70 on Unicode. Longer messages are split and billed per part.
Read a message’s final state
Query by status, or let us push the same report to your callback URL.
GET /report?status=Delivrd
Token: $SMSLOCAL_TOKEN
# → 200 OK
# { msgid: "9f2a7c10", status: "Delivrd" }Related guides
Quickstart
A guided first request.
Webhooks
Push instead of poll.
Developer docs
The complete reference.
API reference — frequently asked questions
JSON, with Content-Type: application/json on every request.
Past the character limit a message is joined from several parts, and each part is billed separately.