channel: "sms" to both POST /v3/request and POST /v3/send, and OTP.ID sends the message to the phone number you provide.
SMS is a strong fit when you want a simple code-entry experience. The user receives a text message on the destination phone number, so the flow works without an installed messaging app or mobile data connectivity. Use an international phone number in digits-only format so OTP.ID can reach the correct destination.
How the flow works
1
Create the OTP request
Call
POST /v3/request with channel: "sms" when you want OTP.ID to generate the code for you.2
Or send your own code
Call
POST /v3/send with channel: "sms" when your application already has the code.3
OTP.ID sends an SMS message
OTP.ID delivers the OTP as an outbound SMS to the destination number you submitted.
4
The user enters the code
Show a clear OTP entry UI in your app and let the user type or paste the code from the text message.
5
You verify the code
Submit the transaction ID and code through the verification flow described in the Verify OTP guide.
Request example
This example uses the canonical request shape in the POST /v3/request API reference.What your UI should do
- Use a single OTP input or six separate digit boxes so the user can enter the code quickly.
- Show a resend action, but only after your own cooldown expires.
- Show the expiry time clearly so the user knows when the current code stops working.
- If delivery fails, tell the user to request a new code instead of retrying the same message automatically.
- Keep the verification action near the input so the user can finish the flow without leaving the screen.

