hello@siellabs.com A person answers within one business day Docs Pricing
Siel

Products

Messaging API Campaigns SMPP and wholesale Verify Soon

Platform

Analytics Routing Delivery quality Partners

Company

Pricing Developers Contact Sign in Send your first SMS free

The API

Send, then read back

  • Post a message with a number, a sender and a body. It answers with its ID, its encoding and part count, its price and its country.
  • Get it back with its status, the network it went to, each part's operator ID and receipt, and the error in plain words if it failed.
  • List your latest messages, and find any of them in the console's log and analytics.
GET /v1/messages/{id}
{
  "id": "6f1c3d2a-7c1e-4e0b-9d2f-2b1f4b9a2e10",
  "to": "+447700900123",
  "from": "Acme",
  "status": "delivered",
  "country": "GB",
  "network": "Vodafone UK",
  "encoding": "gsm7",
  "segments": 1,
  "price_micros": 29000,
  "error_code": null,
  "attempts": 1,
  "created_at": "2026-10-30T14:02:08Z",
  "done_at": "2026-10-30T14:02:12Z",
  "parts": [
    { "seq": 1, "status": "delivered", "smsc_id": "beed0ac9ca",
      "receipt_stat": "DELIVRD", "done_at": "2026-10-30T14:02:12Z" }
  ]
}

Every message tells you
its parts, its price
and how it was
delivered.

Webhooks

A delivery webhook you can trust

  • Signed with your webhook secret, so you can check every event came from us.
  • Retried automatically when your endpoint is down, so a short outage on your side loses nothing.
  • A delivery log in the console: every event we sent and what your endpoint answered.
  • One address or one per message, and a secret you can rotate.
POST your callback URL
X-Smsgw-Timestamp: 1792787391
X-Smsgw-Signature: v1=8f3c…e2a1
Content-Type: application/json
{
  "event_id": "evt_01JB4…",
  "type": "message.delivered",
  "message_id": "6f1c3d2a-7c1e-4e0b-9d2f-2b1f4b9a2e10",
  "status": "delivered",
  "to": "+447700900123",
  "from": "Acme",
  "segments": 1,
  "error_code": null,
  "occurred_at": "2026-10-30T14:02:12Z"
}

Details

The small things that save a day

Idempotency keys

Send the same key with the same body and you get the original message back without a second charge. The same key with a different body is refused, so a retry can never send twice.

Encoding handled

GSM and Unicode are detected for each message. Smart encoding swaps curly quotes and dashes for their GSM equivalents, so a punctuation mark never splits a message in two.

Short links with clicks

Ask for links to be shortened and see who clicked, message by message, in the message log and campaign reports.

A rate limit that waits

Over your limit, the API tells you how long to wait instead of dropping the request. A big campaign never delays your codes.

Outages handled

If a destination cannot be reached for a while, messages wait and go out when it is back. Parts that never reach an operator are refunded.

Sender IDs, once

Register a sender for the countries you send to; approved senders work on the API, SMPP and the console alike.

Send a code to your own phone in five minutes

Get an API key, send a code to your own phone, and read it back with its receipt.

Free test credits. No card, no monthly fee, no contract.