API Documentation
Step-by-step references with endpoints, parameters, sample code, responses and error codes. Your service URL and API key are shared with you after you sign up.
SMS API Documentation
Send transactional, promotional and Unicode SMS over HTTP, and track every message.
- Send SMS, Unicode and promotional messages
- Real-time delivery reports on your webhook
- Delivery status and credit balance APIs
Prerequisite: DLT registration of your business, sender ID and message templates. Check DLT requirements
WhatsApp API Documentation
Send session and template messages on the official WhatsApp Business API.
- Text, media, interactive, catalogue and payment messages
- Create and manage message templates
- Media upload and delivery status webhooks
Prerequisite: a Meta-verified business with an approved phone number and display name. Check Meta approval steps
SpringEdge offers simple HTTP APIs for SMS, WhatsApp Business, Voice, and RCS messaging in India. Send a request with your API key over HTTPS and get a message ID back, with a sub-5ms response time and 99.99% uptime backed by direct connectivity to Indian telecom operators (Jio, Airtel, Vodafone Idea, BSNL).
Any HTTP client works out of the box, with ready-made integration code for PHP, Python, Java, Node.js, Ruby, C# and more, and an official Node.js package on npm. Your messages go out on your DLT-registered sender IDs and templates, so they are delivered compliantly.
Simple HTTP API
GET or POST requests, with responses in plain text, JSON or XML
API Key Authentication
One API key per account, with optional IP whitelisting for extra security
Webhook Callbacks
Real-time delivery reports pushed to a callback URL on your server
Available APIs
Each API handles a specific communication channel, and all of them authenticate with your SpringEdge API key.
SMS API
Send transactional SMS, OTP codes, and promotional bulk campaigns. Supports Unicode, scheduled delivery, DLT templates, and DND filtering.
RCS API
Send rich cards, image carousels, suggested replies, and action buttons. Includes automatic SMS fallback for non-RCS devices.
Voice API
Automated voice broadcasting with text-to-speech in 15+ languages. Build IVR menus, collect DTMF input, and schedule calls.
WhatsApp API
Official WhatsApp Business API for template messages, rich media, interactive buttons, and automated chatbot conversations.
// Send SMS — cURL example
curl -X POST "<SMS_SERVICE_URL>/api/web/send/" \
--data-urlencode "apikey=YOUR_API_KEY" \
--data-urlencode "sender=SEDEMO" \
--data-urlencode "to=9900XXXXXX" \
--data-urlencode "message=Your OTP is 482910" \
--data-urlencode "format=json"
// Response
{
"groupID": 61,
"MessageIDs": "61-1",
"status": "AWAITED-DLR"
}
SMS API
Send an SMS with One API Call
The SMS API accepts a GET or POST request with your API key, sender ID, recipient number and message text. Add unicode=1 for regional languages or promo=1 for promotional messages. Each accepted message returns a message ID for tracking.
Delivery status is available by polling with the message ID, or pushed to your server in real time: pass a callbackurl and your own label with the message. Read the SMS API documentation →
WHATSAPP API
Send WhatsApp Messages via API
The WhatsApp API sends pre-approved template messages with dynamic parameters. Templates support text, images, documents, videos, and interactive buttons (quick reply, call-to-action, URL, copy code). Each template must be approved by Meta before use, and can be created and managed through the API.
Session messages (replies within 24 hours of the customer's last message) support free-form text, media, locations, contacts, lists, catalogues and payments. Read the WhatsApp API documentation →
// Send WhatsApp template message
curl -X POST "<WHATSAPP_SERVICE_URL>/v3/{{phone_number_id}}/messages" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"messaging_product": "whatsapp",
"to": "91XXXXXXXXXX",
"type": "template",
"template": {
"name": "order_confirmation",
"language": { "code": "en" },
"components": [{
"type": "body",
"parameters": [
{ "type": "text", "text": "ORD-78542" },
{ "type": "text", "text": "2,499" }
]
}]
}
}'
// Response
{
"messaging_product": "whatsapp",
"contacts": [{ "input": "91XXXXXXXXXX", "wa_id": "91XXXXXXXXXX" }],
"messages": [{ "id": "wamid.HBgMOTE3OTcyODkyNzEy..." }]
}
Developer Tools & Infrastructure
Everything you need to integrate, test, and monitor messaging in production.
Code Samples & Libraries
Copy-paste integration code for PHP, Python, Java, Node.js, Ruby, C# and more, plus the official springedge Node.js package on npm.
Free Test Credits
Test your integration with free credits on the same endpoints you use in production, so nothing changes when you go live.
Webhooks & Events
Receive SMS delivery reports on your callback URL, and WhatsApp sent, delivered and read statuses on your webhook, in real time.
Analytics Dashboard
Track delivery rates, message latency, channel-wise usage, and credit consumption from a single dashboard with exportable reports.
Security & Rate Limits
HTTPS on every endpoint, optional IP whitelisting for your API key, and up to 10 SMS API requests per second per IP. Contact support for higher throughput.
Request Logging
Every API request and response is logged and accessible from your dashboard for debugging, auditing, and compliance purposes.
// npm install springedge
const springedge = require('springedge');
const params = {
apikey: 'YOUR_API_KEY',
sender: 'SEDEMO',
to: ['919900XXXXXX'],
message: 'Your OTP is 482910',
format: 'json'
};
springedge.messages.send(params, 5000, (err, response) => {
if (err) return console.log(err);
console.log(response);
// { groupID: 61, MessageIDs: "61-1", status: "AWAITED-DLR" }
});
LIBRARIES & CODE SAMPLES
Integration Code for Every Stack
The official springedge Node.js package on npm wraps the SMS API, so you can send messages with a single function call.
For other languages, use our ready-made integration code for PHP, Python, Java, Ruby on Rails, C# and Android, or call the HTTP API from any language.
Beyond REST — Enterprise SMPP & Reseller Options
The REST SMS API on this page covers 5-minute integration for typical business volumes. For high-throughput enterprise, aggregator, and reseller workloads, SpringEdge offers two additional access models on the same operator connectivity:
SMPP 3.4 Gateway
Direct SMPP 3.4 binding with up to 5,000 TPS per binding, full TLV parameter support, and TLS-encrypted transport. Suited for platforms sending > 1 million SMS/day where REST throughput or protocol overhead becomes a bottleneck.
SMS Reseller Program
White-label reseller platform with a branded admin panel, hierarchical sub-user management, wholesale INR pricing from ₹0.10 per SMS at scale, and managed DLT compliance. For agencies, integrators, and regional providers.
Sample Responses
The SMS API responds in plain text by default. Add format=json or format=xml to get a structured response. Every accepted message returns a groupID and message ID you can use to track delivery.
Success — JSON
{
"groupID": 61,
"MessageIDs": "61-1",
"status": "AWAITED-DLR"
}
Success — XML
<xml>
<groupID>62</groupID>
<MessageIDs>62-1</MessageIDs>
<status>AWAITED-DLR</status>
</xml>
AWAITED-DLR means the message was accepted and handed to the operator, and is waiting for a delivery report.
Error Codes
If a request can't be processed, the SMS API returns one of these messages instead of a message ID:
| Response | Cause | Fix |
|---|---|---|
| Invalid Input Data | A required parameter or its value is missing | Send apikey, sender, to and message; parameter names are case-sensitive |
| Account Inactive. Please contact Support | Your SMS account is inactive or deactivated | Contact support |
| Invalid Mobile Numbers | The mobile number is invalid or has fewer than 10 digits | Send a valid 10-digit mobile number, with or without 91 |
| Invalid Sender ID | The sender ID is not applied for or not yet approved | Use an approved header; see the DLT Sender ID guide |
| Insufficient Credits | Your SMS account is out of credits | Recharge your account |
| Invalid Message GID | The message group ID is invalid | Use the groupID returned by the send API |
| Invalid Schedule Date and Time! | The schedule time is invalid | Correct the time value |
| Invalid Schedule Date! | The schedule date is invalid | Correct the date value |
Delivery Report Webhook
To receive SMS delivery reports on your server in real time, add a callbackurl and your own reference label to the send request:
<SMS_SERVICE_URL>/api/web/send/?apikey=YOUR_API_KEY&sender=SEDEMO&to=9900XXXXXX&message=Test+message&format=json&callbackurl=https://yourdomain.com/receivestatus/&label=ORDER-10245
When the status is updated, SpringEdge calls your callback URL with these parameters:
https://yourdomain.com/receivestatus/?label=ORDER-10245&recipient=9900XXXXXX&status=DELIVRD
label is the reference you sent, recipient is the destination number, and status is DELIVRD, UNDLIVRD or FAILED. See the SMS API documentation for a sample handler, or the WhatsApp API documentation for WhatsApp status webhooks.
Test the API end-to-end before integrating — see the SpringEdge Postman collection.
Frequently Asked Questions
Common questions about SpringEdge API integration, authentication, and developer tools.
-
What programming languages does the SpringEdge API support?
SpringEdge provides an HTTP API that works with any programming language capable of making HTTP requests. We offer ready-to-use code examples for PHP, Python, Java, Node.js, C#, Ruby, and cURL, plus an official Node.js package on npm. Since the API uses standard HTTP GET/POST requests with plain text, JSON or XML responses, it integrates seamlessly into any technology stack — whether you're building a web application, mobile app, or backend service.
-
How do I authenticate with the SpringEdge API?
Authentication is done using an API key that is generated from your SpringEdge account. For the SMS API you pass it as the
apikeyparameter, and for the WhatsApp API as anapikeyheader. Use HTTPS so your credentials and message data are encrypted in transit, and optionally restrict your key to specific IP addresses. Call the API only from your server, never from front-end code. No OAuth or complex authentication flows are required — simply sign up, get your API key, and start sending messages. -
Does SpringEdge provide webhooks for delivery reports?
Yes. For SMS, add a
callbackurland your own referencelabelto the send request, and SpringEdge calls that URL with the label, recipient number and delivery status (DELIVRD,UNDLIVRDorFAILED) as soon as the status is updated. For WhatsApp, share your webhook URL with our support team to receive sent, delivered and read statuses and incoming messages. This lets your application track delivery in real time without polling. You can also fetch the status of any SMS by its message ID. -
Can I integrate SpringEdge with my CRM or ERP system?
Yes, SpringEdge integrates with popular business software through pre-built plugins and the REST API. We offer ready-made add-ons and plugins for WooCommerce, Magento, OpenCart, WordPress, and other platforms. For CRM systems like Salesforce, HubSpot, Zoho, and Tally, you can use our API to trigger automated messages based on CRM events — new lead created, deal closed, payment received, support ticket updated, and more. Any software that can make HTTP requests can integrate with SpringEdge in minutes.
-
What is the API uptime and response time?
SpringEdge guarantees 99.99% API uptime backed by redundant, carrier-grade infrastructure. The average API response time is under 5 milliseconds for message submission requests. Our platform is built on a distributed architecture with automatic failover, so even during maintenance windows or infrastructure incidents, your API calls continue to work. We process billions of messages annually across SMS, Voice, and WhatsApp channels.
-
Is there a sandbox or test environment for the API?
Yes, when you create a free SpringEdge account, you receive complimentary test credits that let you try all services — SMS, Voice, and WhatsApp — without any upfront payment or credit card. You can use these credits to test API integration, verify message delivery, and validate your application logic before going into production. The test environment uses the same API endpoints as production, so there is no code change needed when you switch to live messaging.
Choosing an SMS API Provider
How to Choose an SMS API Provider
What to evaluate before you commit — delivery routes, DLT handling, uptime guarantees, pricing models and support quality.
SpringEdge vs Twilio
A direct comparison of pricing, Indian operator routing and DLT compliance for teams weighing both platforms.
Twilio Alternatives in India
The leading India-focused alternatives to Twilio, with notes on where each one fits best.
