Skip to main content

What You Can Test in Postman

Grouped by service. Every request below maps to an endpoint in the SMS API documentation or the WhatsApp API documentation.

Authentication
  • SMS: apikey request parameter
  • WhatsApp: apikey HTTP header
SMS
  • Send SMS (/api/web/send/)
  • Get single message status (/api/status/message)
  • Get group status (/status/group)
OTP
  • Send OTP through the SMS send endpoint using your DLT-approved OTP template
  • Generate and verify the OTP in your own backend
WhatsApp
  • Send approved template message
  • Send text message (within 24 hours of the customer's last message)
  • Upload media
Voice & RCS
  • API documentation for Voice and RCS is shared on request — contact us.
Webhooks
  • SMS delivery reports via callbackurl + label
  • WhatsApp status webhooks (callback URL configured by SpringEdge support)
Account
  • Get SMS credit balance (/api/status/credit)

Download & Import

There is no downloadable Postman collection file on this page. Instead, paste the cURL samples below into Postman via Import → Raw text — Postman auto-converts cURL to a request and keeps the {{variables}} so they resolve from your environment.

Need a ready-made collection for your team? Contact us and we'll help you get set up.

Postman Setup — 2 Minutes

1.Sign up free at /signup — no credit card.
2.Collect your credentials — your SMS service URL and API key are shared after sign-up; your WhatsApp service URL, API key and phone_number_id after WhatsApp onboarding.
3.Open Postman → Environments → New environment.
4.Add variables SMS_SERVICE_URL, SMS_API_KEY, WHATSAPP_SERVICE_URL, WHATSAPP_API_KEY and phone_number_id. Mark the API keys as secret.
5.Paste the cURL samples below via Import → Raw text and select your environment.
6.Run "Get Credit Balance" first — it confirms your URL and key without spending credits.

Sample Requests — Paste into Postman

Copy any of these cURL snippets, open Postman, click Import, paste under the Raw text tab, and Postman auto-builds the request. {{SMS_SERVICE_URL}} is your SMS service URL (<SMS_SERVICE_URL> in our docs), shared after sign-up. SMS requests are form-encoded (application/x-www-form-urlencoded); parameter names are case-sensitive and the message must match a DLT-approved template.

Send Transactional SMS

curl -X POST "{{SMS_SERVICE_URL}}/api/web/send/" \ --data-urlencode "apikey={{SMS_API_KEY}}" \ --data-urlencode "sender=SEDEMO" \ --data-urlencode "to=9900XXXXXX" \ --data-urlencode "message=Your order ORD-78542 has been shipped" \ --data-urlencode "format=json"

Response:

{"groupID": 61, "MessageIDs": "61-1", "status": "AWAITED-DLR"}

Send OTP

curl -X POST "{{SMS_SERVICE_URL}}/api/web/send/" \ --data-urlencode "apikey={{SMS_API_KEY}}" \ --data-urlencode "sender=SEDEMO" \ --data-urlencode "to=9900XXXXXX" \ --data-urlencode "message=Your OTP is 482910" \ --data-urlencode "format=json"

Get Delivery Status

curl "{{SMS_SERVICE_URL}}/api/status/message?apikey={{SMS_API_KEY}}&messageid=61-1" {"id":"61-1","Recipient":"+919900xxxxxx","status":"DELIVRD"}

Status values: SUBMITTED, AWAITED-DLR, DELIVRD, UNDELIVRD, REJECTED. For every message in a send request, use the group status endpoint:

curl "{{SMS_SERVICE_URL}}/status/group?apikey={{SMS_API_KEY}}&messagegid=61"

Get Credit Balance

curl "{{SMS_SERVICE_URL}}/api/status/credit?apikey={{SMS_API_KEY}}" {"Credits":"485000"}

Send WhatsApp Template Message

The first message to a customer must be an approved template. {{WHATSAPP_SERVICE_URL}} is your WhatsApp service URL (<WHATSAPP_SERVICE_URL> in our docs).

curl -X POST "{{WHATSAPP_SERVICE_URL}}/v3/{{phone_number_id}}/messages" \ -H "Content-Type: application/json" \ -H "apikey: {{WHATSAPP_API_KEY}}" \ -d '{ "messaging_product": "whatsapp", "recipient_type": "individual", "to": "91XXXXXXXXXX", "type": "template", "template": { "name": "order_confirmation", "language": { "code": "en" }, "components": [{ "type": "body", "parameters": [ { "type": "text", "text": "Rahul" }, { "type": "text", "text": "ORD-78542" } ]}] } }'

Response:

{ "messaging_product": "whatsapp", "contacts": [{ "input": "91XXXXXXXXXX", "wa_id": "91XXXXXXXXXX" }], "messages": [{ "id": "wamid.HBgM..." }] }

Upload WhatsApp Media

curl -X POST "{{WHATSAPP_SERVICE_URL}}/v3/{{phone_number_id}}/media" \ -H "apikey: {{WHATSAPP_API_KEY}}" \ -F "sheet=@/path/to/brochure.pdf"

Authentication

Both APIs authenticate with an API key — there is no Bearer token or Authorization header. The key is passed differently per API:

  • SMS / OTP API — apikey=YOUR_API_KEY as a request parameter (form field for POST, query string for GET)
  • WhatsApp API — apikey: YOUR_API_KEY HTTP header

For Postman, store your keys in the environment variables SMS_API_KEY and WHATSAPP_API_KEY and reference them as {{SMS_API_KEY}} / {{WHATSAPP_API_KEY}}. Your SMS API key can be restricted to whitelisted IPs. In production, call the API only from your server — never from browser, front-end or mobile-app code, where the key would be exposed.

Common SMS API Errors

The SMS API returns errors as plain-text messages. Full list in the SMS API documentation.

Error Message Meaning Fix
Invalid Input DataMissing or malformed parameterCheck parameter names (case-sensitive) and URL-encode all values.
Account Inactive. Please contact SupportAccount is not activeContact support.
Invalid Mobile NumbersRecipient number not validUse a 10-digit Indian mobile number; the 91/+91 prefix is optional.
Invalid Sender IDSender not approvedUse your approved 6-character DLT sender ID.
Insufficient CreditsNot enough balanceCheck /api/status/credit and recharge.
Invalid Message GIDUnknown group ID in a status requestUse the groupID returned by the send request.
Invalid Schedule Date and Time! / Invalid Schedule Date!Schedule value not validCorrect the schedule date/time.

The SMS API accepts up to 10 requests per second per IP — keep Postman Runner iterations within that limit.

Webhook Testing in Postman

To receive SMS delivery reports, add callbackurl and label to your send request. SpringEdge then calls your URL with the parameters label, recipient and status (DELIVRD, UNDLIVRD, FAILED). During development, you don't need a real public endpoint — tools like webhook.site or RequestBin give you a temporary URL that captures incoming requests for inspection.

curl -X POST "{{SMS_SERVICE_URL}}/api/web/send/" \ --data-urlencode "apikey={{SMS_API_KEY}}" \ --data-urlencode "sender=SEDEMO" \ --data-urlencode "to=9900XXXXXX" \ --data-urlencode "message=Your order ORD-78542 has been shipped" \ --data-urlencode "format=json" \ --data-urlencode "callbackurl=https://webhook.site/your-unique-id" \ --data-urlencode "label=ORD-78542"

Workflow:

  1. Get a temporary URL from webhook.site.
  2. Pass it as callbackurl, with your own reference as label, in the Send SMS request.
  3. Send the request from Postman.
  4. Watch the label, recipient and status parameters arrive at webhook.site.
  5. In production, read the parameters from the request (e.g. PHP $_REQUEST) and respond with HTTP 200 quickly.

For WhatsApp status webhooks, share your callback URL with SpringEdge support; events arrive in Meta's webhook format. See WhatsApp webhooks.

Common Use Cases

Pre-Integration Testing

Confirm the API behaves as expected before writing application code.

QA Test Runs

QA team triggers SMS / WhatsApp / OTP flows to test recipient phones.

Support Reproduction

Reproduce customer-reported issues with the exact request payload.

Stakeholder Demos

Show product/sales teams how messages render on a real phone.

Frequently Asked Questions

There is no downloadable collection file on this page. Paste the cURL samples on this page directly into Postman via Import → Raw text. For help setting up a collection for your team, contact us.

Sign up at /signup. Your SMS API key and SMS service URL are shared with you after sign-up. WhatsApp API credentials are shared after your WhatsApp number is onboarded — see the WhatsApp business verification guide.

No — the API requires authentication. Signup is free with no credit card; takes under 2 minutes including email verification.

Postman is great for development and ad-hoc testing. For production traffic, call the API from your backend server using the sample code in the SMS API documentation (PHP, Python, Java, C#, Ruby and more). For Node.js there is the official springedge npm package.

No. The same production endpoints work for testing, using your free test credits. This means your Postman requests work unchanged when you move to production.

Yes. Use Postman's team workspaces to share your requests and environment. Each teammate uses their own personal API key for security; share the collection structure, not the key.

Yes. Use Postman Monitors to schedule periodic API health checks (e.g. call the credit balance endpoint every hour, or send a test SMS and check its status). Useful for continuous monitoring of your integration's end-to-end behaviour.

For Postman-application issues check Postman's docs. For SpringEdge API issues (auth failures, malformed requests, delivery questions) contact our support team — we usually respond within 2 business hours.

Get your API key in 2 minutes — start testing today

Free signup, free test credits, no credit card. Paste the cURL samples above into Postman and send your first SMS.

Get API Key Free View Full API Docs