# Enterprise SMS API: REST, Webhooks, Global | ZafeConnect

> ZafeConnect’s SMS API sends transactional and bulk SMS over one REST endpoint, with signed delivery webhooks, scheduling and fallback to RCS, WhatsApp or email.

Canonical URL: https://www.zafeconnect.com/sms-api
Language: en
Last modified: 2026-11-09

## SMS API for enterprise messaging

URL: https://www.zafeconnect.com/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.

### Send, schedule and track SMS from your own systems
One REST API covers the life of a message, from sending to the final delivery status.
- **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.
- **Send in bulk:** POST /v1/messages/bulk accepts up to 10,000 messages in one request. Each message is queued individually.
- **Schedule and cancel:** Set scheduled_at to send later, and cancel a message while it is still scheduled.
- **Track every message:** Fetch the status of a message by its ID, or receive status changes as signed webhooks.
- **Manage the account:** Read your balance, your prices per channel and country, and your usage for a date range.

### Authentication, limits and signed webhooks
These are the documented defaults. If you expect higher volumes or sharp peaks, tell us and we will plan the setup together.
- **API key authentication:** 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.
- **Documented rate limits:** Single sends: 1,000 requests per minute per key. Bulk: up to 10,000 messages per request and 100 requests per minute.
- **Signed delivery webhooks:** 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.
- **JSON in, JSON out:** All requests and responses are JSON, UTF-8 encoded, with standard HTTP status codes such as 201, 400, 401 and 402.

### Global reach and routing behind one endpoint
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.
- **One integration, many countries:** The same call reaches customers in different countries. Coverage and features vary by destination, so tell us where your customers are.
- **Intelligent routing and fallback:** Traffic follows the best available route per destination, with alternative routes or regions if there are network problems.
- **Real delivery reports:** Delivery status comes from the operators’ own delivery reports where the operator returns them.
- **Fallback across channels:** List channels in priority order, for example SMS first and email as backup. The API tries the next channel if the primary one fails.

### Send under your own brand name
Use the sender field to show your brand name where the destination country allows it.
- **Approved senders only:** The sender must be an approved SenderID. We guide you through registration where a country requires it.
- **11 characters on SMS:** Alphanumeric sender names are limited to 11 characters on SMS.
- **Keep your name yours:** SenderID Protection helps keep others from using your sender name, where operators or registries support protection.

Getting started:
1. Request access: Tell us your destination countries, channels and expected volumes. We confirm what applies and set up your account.
2. Integrate with a test key: Build against the documented endpoints with a test API key and check the responses.
3. Add webhooks: Point delivery events at your endpoint and verify the signature.
4. Go live: Switch to a live key. You could be live in as little as 2 weeks from the moment you decide to get started.

Documentation: https://www.zafeconnect.com/developers

FAQ:
Q: What is an SMS API?
A: 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.

Q: Is an SMS API the same as an SMS gateway?
A: 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.

Q: How do I authenticate?
A: 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.

Q: What are the rate limits?
A: 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.

Q: How do I get delivery status?
A: 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.

Q: Can I send one-time passcodes and other transactional SMS?
A: 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.

Q: Can I send RCS, WhatsApp or email with the same API?
A: 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.

Q: How is the SMS API priced?
A: 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.
