SMS API
Generate your private API key in your account. Keep it on your server, never in a browser or public app.
Send verification OTP
POSThttps://apiplus.in/api/v1/sms/otpcurl -X POST https://apiplus.in/api/v1/sms/otp \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Idempotency-Key: your-unique-request-id-001" \
-d '{"phone":"9XXXXXXXXX","otp":"123456"}'Use a new idempotency key for each intended message. Retrying with the same key does not create a second debit. Only the approved LPWOTP sender and verification template are used. OTP must be six digits.
{"status":"ACCEPTED","providerRequestId":"...","message":"Provider accepted the SMS. Delivery may take time."}202 means accepted by the provider, not guaranteed handset delivery. 402 means balance insufficient; 429 means too many requests.
Check balance
GEThttps://apiplus.in/api/v1/sms/balancecurl https://apiplus.in/api/v1/sms/balance \ -H "X-API-Key: YOUR_API_KEY"
Promotional balance is returned in paise. One accepted OTP costs 50 paise promo balance, then one paid credit when promo is exhausted.
Check request
GEThttps://apiplus.in/api/v1/sms/status/YOUR_IDEMPOTENCY_KEYReturns RESERVED, ACCEPTED or FAILED and the provider request ID when available. A FAILED reservation is returned to the same wallet source.
Packages and payments
See SMS packages. Purchased credits are kept separately from promotional credit. Payment credits are added only after the Paytm order ID, merchant and exact amount are verified.