Quick Answer
The SMSGatewayHub HTTPS API is the encrypted version of our SMS API: your application calls https://www.smsgatewayhub.com/api/mt/SendSMS with an APIKey, approved sender ID, channel (1 promotional, 2 transactional or OTP), route, number and text, and receives a JSON JobId. Traffic is protected by TLS end to end, typical delivery takes 2-6 seconds, and usage is billed on Pay As You Go pricing.
Why use the HTTPS SMS API instead of plain HTTP?
Every SMS API call carries two things worth protecting: your APIKey, which can spend your credits, and the message text, which often contains one-time passwords, account balances or order details. The HTTPS API sends both over TLS, so they cannot be read or altered on the network between your server and the SMSGatewayHub gateway. For login, payment and banking flows it is the only sensible choice.
The HTTPS API uses exactly the same endpoints and parameters as our HTTP SMS API, so migrating is a one-line change to your base URL. It adds one important option: channel=OTP, which sends one-time passwords on the dedicated OTP route used by our OTP SMS service. SMSGatewayHub is ISO 27001, ISO 9001:2015 and SOC 2 certified and VAPT tested - details are published in our Trust Center.
You also get the same JSON responses, delivery report endpoint and balance endpoint, so dashboards and retry logic you have already written keep working unchanged.
How do I send an OTP over the HTTPS API?
Pass channel=OTP. Generate and store the OTP in your own backend, then put it inside your DLT-approved OTP template.
httpGET https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=OTP&DCS=0&flashsms=0&number=91989xxxxxxx&text=test message&route=1
Response:
{"ErrorCode":"000","ErrorMessage":"Success","JobId":"20047","MessageData":[{"Number":"91989xxxxxxx","MessageId":"mvHdpSyS7UOs9hjxixQLvw"},{"Number":"91989xxxxxxx","MessageId":"PfivClgH20iG6G5R3usHwA"}]}
Single, multiple, Unicode, group and scheduled SMS over HTTPS
One SendSMS endpoint; change parameters for each use case.
http# Single SMS
https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=2&DCS=0&flashsms=0&number=91989xxxxxxx&text=test message&route=1
# Multiple SMS
https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=2&DCS=0&flashsms=0&number=91989xxxxxxx,91999xxxxxxx&text=test message&route=1
# Unicode SMS (DCS=8)
https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=2&DCS=8&flashsms=0&number=91989xxxxxxx&text=परीक्षण सन्देश&route=1
# Group SMS
https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=2&DCS=0&flashsms=0&number=91989xxxxxxx&text=test message&groupid=###&route=1
# Schedule SMS
https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=2&DCS=0&flashsms=0&number=91989xxxxxxx&text=test message&schedtime=2015/12/31 22:35:00 PM&route=1
Response (scheduled):
{"ErrorCode":"000","ErrorMessage":"Success","JobId":"20047","MessageData":[{"Number":"91989xxxxxxx","MessageId":"BqTiw66A2UGLFV3DnwHFLQ"}]}
Delivery reports and balance over HTTPS
http# Delivery report by JobId
https://www.smsgatewayhub.com/api/mt/GetDelivery?APIKey=yourapicode&jobid=#######
Response:
{"ErrorCode":"0","ErrorMessage":"Success","MessageId":null,"DeliveryReports":[{"MessageId":"mvHdpSyS7UOs9hjxixQLvw","DeliveryStatus":"Delivered","DeliveryDate":"2015-09-28T06:17:00"},{"MessageId":"PfivClgH20iG6G5R3usHwA","DeliveryStatus":"Delivered","DeliveryDate":"2015-09-28T06:17:00"}]}
# Multiple delivery report (date range)
https://www.smsgatewayhub.com/smsapi/mis.aspx?user=username&password=password&fromdate=mm/dd/yyyy&todate=mm/dd/yyyy
# Check balance
https://www.smsgatewayhub.com/api/mt/GetBalance?APIKey=yourapicode
Response:
{"ErrorCode":"0","ErrorMessage":"Success","Balance":"Promo:9988|Trans:0"}
HTTPS API parameter reference
| Parameter | Description |
| APIKey | Authenticates your account instead of username and password. |
| senderid | Approved sender ID (6-character string only). |
| channel | Promotional = 1, Transactional = 2, OTP = OTP. |
| route | Route ID used to route the message (see your panel). |
| DCS | 0 for normal text (default), 8 for Unicode SMS. |
| flashsms | 0 for normal SMS (default), 1 for flash (immediate display). |
| number | Recipient mobile number; comma-separate multiple numbers. |
| text | SMS content matching your DLT-approved template. |
| schedtime | yyyy/mm/dd hh:mm:ss PM, e.g. 2014/10/06 20:30:00 PM. |
| groupid | Group ID of a saved contact group. |
| jobid | JobId from SendSMS, used with GetDelivery. |
Only 100 mobile numbers are allowed per request.
Security best practices for your SMS API integration
Keep the APIKey server-side
Never embed the key in Android, iOS or browser code. Call your own backend, which then calls SMSGatewayHub.
Match DLT templates exactly
Variable values must fit the approved DLT template or operators reject the message.
Sample code and integration guides
Frequently Asked Questions
What is the SMSGatewayHub HTTPS SMS API endpoint?
Send messages with a GET request to https://www.smsgatewayhub.com/api/mt/SendSMS. Delivery reports use https://www.smsgatewayhub.com/api/mt/GetDelivery and balance checks use https://www.smsgatewayhub.com/api/mt/GetBalance, all authenticated with your APIKey.
How do I send OTP SMS through the HTTPS API?
Set channel=OTP and place the code your backend generated inside your DLT-approved OTP template in the text parameter. SMSGatewayHub routes it on the OTP route, which typically delivers in 2-6 seconds. You pay only for delivered SMS.
Is the HTTPS API different from the HTTP API?
The parameters, endpoints and JSON responses are the same; HTTPS simply encrypts the connection and adds the OTP channel value. You can migrate by changing http:// to https:// in your base URL.
How many recipients can one HTTPS API call include?
Up to 100 mobile numbers, comma-separated, per request. For larger campaigns, batch your calls or upload contacts through the SMSGatewayHub panel.
Can I send Hindi or regional-language OTPs?
Yes. Set DCS=8 and send Unicode text, which allows 70 characters per SMS part. Make sure the regional-language template is approved on DLT first.
Is the SMSGatewayHub API secure enough for banks and fintech?
SMSGatewayHub is ISO 27001, ISO 9001:2015 and SOC 2 certified and VAPT tested, and the HTTPS API encrypts every request. Combine it with IP whitelisting and server-side key storage for a bank-grade setup.
Can I get delivery status without polling?
Yes. You can call GetDelivery with a JobId, pull a date-range report from mis.aspx, or configure SMSGatewayHub webhooks so delivery updates are pushed to your server automatically.
Secure your SMS integration today
Register with SMSGatewayHub, get your API key and send encrypted OTP and transactional SMS in minutes. Call 1800 102 1822.