Bulk SMS API
Bulk SMS API for
South African applications.
Build notifications, alerts and supported messaging workflows into the systems your business already uses. Start with the current API reference and published SDKs.
Send an SMS with the HTTPS API
Authenticate on your backend with the account Client ID and Client Secret to obtain a login token. Use that token in the bearer header for sending and balance requests. Keep secrets out of browser/mobile client code, public repositories and support screenshots.
POST https://portal.smsflow.co.za/api/integration/BulkMessagesAuthorization: Bearer YOUR_LOGIN_TOKENContent-Type: application/json
{
"SendOptions": {
"startDeliveryUtc": null,
"campaignName": "Website synthetic example",
"checkOptOuts": true
},
"messages": [
{
"content": "Your demo appointment is confirmed for 10:00.",
"destination": "27000000000"
}
]
}The destination is deliberately synthetic. Replace it only with a recipient authorised for a controlled test. Running a real send consumes credits. This website example does not execute a request.
Start with the first SMS quickstart, then check authentication, sending and balance. For the raw requests and Postman collection, use the published HTTP examples.
Choose an integration and handle failures deliberately
| Route | Best starting point | What you operate |
|---|---|---|
| HTTPS API | A backend application making explicit requests | Credentials, request validation and your business workflow |
| .NET, Node.js or Python | A supported language library | Your backend and application-level failure handling |
| SQL Server worker | An existing SQL queue/workflow | The supported installer, worker, queue and monitoring |
.NET / C# quickstart · Node.js quickstart · Python quickstart. SQL worker overview.
Validate destinations and content before sending. Check balance and record the response/reference without logging secrets or customer message bodies. An accepted API request is not proof of handset delivery. Public SDK coverage is authentication, sending and balance; confirm other needs with SMSFlow.
A timeout can leave the send outcome uncertain. Do not blindly replay a batch: it may create duplicate messages and charges. Use the current error and retry reference, distinguish authentication/validation failures from transient faults, and investigate uncertain outcomes before resending.
Build around the message lifecycle.
Send from your system
Trigger an SMS from an application workflow, such as a booking confirmation, service update or approved campaign. Keep business rules and recipient selection in your application.
Authenticate, send and check balance
The current public HTTPS reference covers authentication, sending and balance. Delivery-status and reply handling depend on the supported integration route; confirm the workflow you need in the current reference or with our team.
Choose a published SDK
Use .NET, Node.js or Python tooling where it fits your stack. Java and C# guides remain available; the live API documentation is the authority for current request and response formats.
Watch · Developer resources
See how the API fits.
Start with the reference, choose a library and plan the full messaging workflow.
Read the video transcript
A booking is confirmed. An order changes status. Your application already knows what happened. Connect that business event to a useful SMS with the SMSFlow HTTPS API.
Start with the current documentation. Authenticate, send SMS and check your balance. Keep business rules in your application, with credentials protected on your backend.
Choose a published SDK for .NET, Node.js, or Python. Prefer direct HTTP or Postman? Follow the supported examples and confirm the current request format.
Test with a controlled recipient. Handle validation, failures and retries carefully. Confirm the supported delivery-status and reply workflow for your chosen route, and plan how your team monitors it.
Find your quickstart, official packages and examples. Explore developer resources at SMSFlow online.
SMSFlow · Message. Delivered.
Make the next connection clear.
Use the published API resources to connect messaging to your application workflow.

A considered route into production.
Review the reference
Understand authentication, available operations, message types and segmentation before writing an integration.
Test the full workflow
Use a controlled recipient and test success, invalid requests, delivery status and failure handling. Do not use a customer list for initial checks.
Plan operations
Protect credentials, manage retries carefully, monitor failures and agree expected volumes and support requirements.
The reference stays close.
Open the API documentation, SDKs and supported examples from one place.
Developer resourcesAPI quickstartBusiness event
→ authenticated API request
→ message status
→ your application workflowIllustrative flow, not an executable request.API questions, answered.
What does a message cost?
Is there a shared SMS and WhatsApp API account?
Can we discuss high-volume requirements?
Choose the way you work.
Use the browser, connect your application or work from your SQL environment.
Web portal
Prepare and manage campaigns in your browser.
Explore the portalHTTPS API
Connect supported messaging operations to your application.
Explore the APISQL integration
Use the supported worker and queue workflow for SQL Server.
Explore SQL integrationBuild your next messaging workflow.
Choose your sending route, check the costs or discuss your requirements.