Follow this direct, step-by-step integration guide to configure your Console workspace, link your device, and send your first secure OTP verification challenge.
Before sending live API requests, configure your workspace environment inside the SMX Console:
Register at the Console using your email and password.
Initialize a project workspace inside the Console to isolate keys, logs, and settings.
Download then install the SMX app on your phone, scan the project QR code, and link the device as your active gateway.
Go to the API Keys page inside your project sidebar and generate your public integration credentials.
Sandbox Feature:Configure static test receivers and pre-approved mock codes on the Test Numbers page inside your project sidebar to run end-to-end integration tests for free, completely bypassing physical cellular networks and carrier charges.
To initiate an OTP challenge, call POST /v1/send-otp. SMX will generate a secure numeric code, compile the localized template, and queue it for instant SIM delivery.
1curl -X POST "https://api.smx.app/v1/send-otp" \2 -H "X-SMX-API-Key: smx_live_xxxx" \3 -H "Content-Type: application/json" \4 -d '{5 "receiver": "+967778994568",6 "locale": "en"7 }'The successful response returns a unique verificationId. Persist this ID in your application database to complete the verification step later.
1{2 "success": true,3 "data": {4 "messageId": "msg_01hy78abc...",5 "verificationId": "v_992kjh12..."6 }7}Once your user receives the SMS and inputs the code, send both the saved verificationId and the user's input to POST /v1/verify-otp:
1curl -X POST "https://api.smx.app/v1/verify-otp" \2 -H "X-SMX-API-Key: smx_live_xxxx" \3 -H "Content-Type: application/json" \4 -d '{5 "verificationId": "v_992kjh12...",6 "otp": "123456"7 }'If correct, the API returns verified: true. The challenge is now complete and finalized.
1{2 "success": true,3 "data": {4 "verified": true5 }6}