Developers

Send your first SMS in 5 minutes.

A simple REST API to send SMS to every Tunisian number, copy-paste examples for your language, and webhooks to track every message.

Quickstart

1. Create an API keyIn your Sendimo workspace. Start with an sk_test_ key: nothing is sent or charged.
2. Send an SMSOne POST to /v1/messages. The 202 response contains the message ID and its cost.
3. Track deliveryReceive message.delivered or message.failed on your webhook, without polling.
Send an SMScURL
curl -X POST https://api.sendimo.tn/v1/messages \
  -H "Authorization: Bearer $SENDIMO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-4821-otp" \
  -d '{
    "to": "+21620123456",
    "from": "SENDIMO",
    "text": "Your code is 482913. It expires in 5 minutes.",
    "reference": "order-4821"
  }'
Response 202 AcceptedJSON
{
  "id": "msg_01HF8Z3K9QX2",
  "status": "queued",
  "to": "+21620123456",
  "from": "SENDIMO",
  "text": "Your code is 482913. It expires in 5 minutes.",
  "encoding": "GSM-7",
  "segments": 1,
  "network": "ooredoo",
  "cost": { "amount": "0.140", "currency": "TND" },
  "reference": "order-4821",
  "scheduled_at": null,
  "created_at": "2026-10-30T09:15:00Z"
}

Essentials

ItemValue
Base URLhttps://api.sendimo.tn/v1
ProtocolHTTPS only (TLS 1.2+)
FormatJSON, UTF-8, Content-Type: application/json
AuthenticationAuthorization: Bearer sk_live_… (or sk_test_…)
VersioningMajor version in the path (/v1). Non-breaking additions ship without a version bump.
TimestampsISO 8601, UTC (2026-10-30T09:15:00Z)
IDsPrefixed strings: msg_…, bat_…, snd_…
MoneyString with 3 decimals, in TND ("0.140")
Phone numbersE.164 (+21620123456). Local 8-digit numbers are accepted and normalized to +216.

v1 endpoints

MethodPathPurpose
POST/messagesSend one SMS
POST/messages/bulkSend the same or personalized SMS to many numbers
GET/messages/{id}Get one message and its status
GET/messagesList messages (filters + pagination)
DELETE/messages/{id}Cancel a scheduled message
GET/batches/{id}Get bulk send progress
GET/sender-idsList your approved sender names
POST/sender-idsRequest a new sender name
GET/account/balanceGet remaining balance
See the full reference

Language not listed? The REST API works with any language that can send an HTTP request.

Need another integration? Talk to us

Ready to send your SMS?

Launching soon in Tunisia. Join early access.