Send one message
POST /v1/messages/send sends a message to a phone number in E.164 format. The same call also supports RCS, WhatsApp and email.
SMS API
Send transactional and bulk SMS from your own systems through one REST API. Authenticate with an API key, follow every message with signed delivery webhooks and reach customers worldwide through the ZafeConnect network.
In brief
ZafeConnect’s SMS API is a REST API (JSON, API-key authentication) for sending, scheduling and tracking SMS. It supports bulk sending of up to 10,000 messages per request, signed delivery webhooks and fallback across SMS, RCS, WhatsApp and email.
What it does
One REST API covers the life of a message, from sending to the final delivery status.
POST /v1/messages/send sends a message to a phone number in E.164 format. The same call also supports RCS, WhatsApp and email.
POST /v1/messages/bulk accepts up to 10,000 messages in one request. Each message is queued individually.
Set scheduled_at to send later, and cancel a message while it is still scheduled.
Fetch the status of a message by its ID, or receive status changes as signed webhooks.
Read your balance, your prices per channel and country, and your usage for a date range.
Example
This is the documented send call: one request, one JSON response with the message ID you can track.
curl -X POST https://api.zafeconnect.com/v1/messages/send \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+4520123456",
"channel": "sms",
"message": "Hello from ZafeConnect!",
"sender": "MyBrand"
}'{
"message_id": "msg_01j2abc...",
"status": "queued",
"channel": "sms",
"to": "+4520123456",
"cost": 0.00,
"currency": "EUR",
"created_at": "2026-05-27T12:00:00Z"
}Example values are illustrative. Field reference, error codes, bulk sending, webhooks and signature verification are in the API documentation. A machine-readable OpenAPI 3.1 file is also available.
Try it
Choose how to send and press the button. The request is the documented call; the journey and the delivery event are a simulation. Nothing is sent, and the values are examples.
The simulator needs JavaScript. The documented request and response are in the example above.
Simulation. No message is sent and no account is used. Delivery is never guaranteed; example values only.
Built for production traffic
These are the documented defaults. If you expect higher volumes or sharp peaks, tell us and we will plan the setup together.
Send your key in the X-API-Key header. Keys exist for live and test environments, so you can integrate before you send real traffic.
Single sends: 1,000 requests per minute per key. Bulk: up to 10,000 messages per request and 100 requests per minute.
Status changes are posted to your URL with an HMAC-SHA256 signature you can verify. Return any 2xx status to acknowledge; ZafeConnect retries up to 5 times.
All requests and responses are JSON, UTF-8 encoded, with standard HTTP status codes such as 201, 400, 401 and 402.
Delivery
The API is the front door. Behind it, messages travel over direct operator connections and partner direct routes, with fallback if a route has problems.
The same call reaches customers in different countries. Coverage and features vary by destination, so tell us where your customers are.
Traffic follows the best available route per destination, with alternative routes or regions if there are network problems.
Delivery status comes from the operators’ own delivery reports where the operator returns them.
List channels in priority order, for example SMS first and email as backup. The API tries the next channel if the primary one fails.
Sender identity
Use the sender field to show your brand name where the destination country allows it.
The sender must be an approved SenderID. We guide you through registration where a country requires it.
Alphanumeric sender names are limited to 11 characters on SMS.
SenderID Protection helps keep others from using your sender name, where operators or registries support protection.
Getting started
Tell us your destination countries, channels and expected volumes. We confirm what applies and set up your account.
Build against the documented endpoints with a test API key and check the responses.
Point delivery events at your endpoint and verify the signature.
Switch to a live key. You could be live in as little as 2 weeks from the moment you decide to get started.
FAQ
An SMS API lets your application send text messages and read their delivery status by making HTTP requests, instead of using a web interface. ZafeConnect’s API is a REST API with JSON requests and responses.
Providers use both terms for the connection between your systems and the mobile networks. ZafeConnect offers it as a REST API with API-key authentication. If you need another connection method, such as SMPP, tell us and we will confirm what is available.
Send your API key in the X-API-Key header on every request. Keys are created and managed in your ZafeConnect account, and come in live and test environments.
The documented limits are 1,000 requests per minute per key for single sends, and up to 10,000 messages per bulk request with 100 bulk requests per minute. Tell us about higher volumes and we will plan the setup with you.
Fetch a message by its ID, or receive webhooks when the status changes. Each webhook is signed with HMAC-SHA256 so you can verify it came from ZafeConnect, and ZafeConnect retries up to 5 times if your endpoint does not acknowledge.
Yes. Transactional messages such as one-time passcodes, alerts and notifications are the most common use of the API. See our OTP verification page for the details that matter.
Yes. The send endpoint takes a channel (sms, rcs, whatsapp or email) and an optional list of fallback channels. Availability varies by country and channel.
You pay only for delivered messages, with no setup, system or operating fees. Charges are taken from your prepaid balance, or invoiced monthly for enterprise customers. See the pricing page for how it works.
Tell us about your systems, destinations and volumes. We will help you send your first message, and you could be live in as little as 2 weeks.