channel: "misscall" to POST /v3/request or POST /v3/send, OTP.ID places a call, and the caller ID carries the OTP. There is no SMS and no message body for this channel.
Your UI must use verification.prefix and verification.otp_length from the direct request or send response to guide the user. The full calling number is not returned by V3, so your form should show the prefix as read-only context and collect only the trailing digits that the user sees in the call log.
How the flow works
1
Create or send the Missed Call transaction
Call
POST /v3/request when you want OTP.ID to generate the transaction, or call POST /v3/send with channel: "misscall" when your application starts the same channel flow from the client-supplied endpoint.2
OTP.ID places and disconnects the call
OTP.ID triggers the Missed Call and disconnects it so the user can inspect the caller ID in their phone call log.
3
The user checks the call log
Instruct the user to open the phone call log and find the OTP.ID number that just called. There is no SMS fallback and no message content to read.
4
Show the prefix and trailing slots
Render
verification.prefix and display verification.otp_length empty input slots after it. This UI tells the user how many trailing digits they must enter.5
Collect the trailing digits
The user reads the end of the caller ID from the call log and enters only those trailing digits into your form.
6
Verify the collected digits
Submit the collected digits to
POST /v3/verify as otp together with the transaction ID.Response mapping for Missed Call
The Missed Call response gives you only the verification hint your UI needs:- The telephony vendor determines the code from the caller ID.
- When
otp_lengthis4, the user enters the last four digits of the number that called them. otp_lengthand a suppliedotpdo not change the vendor-derived caller-ID code for this channel.- Use the response prefix only to orient the user in your UI; do not treat it as a way to reconstruct or expose the full number.
- Request, send, replay, and status details remain defined by the canonical POST /v3/request reference and POST /v3/send reference.
UI reference
Do not ask the user to wait for an SMS or search for a message body. Missed Call verification comes from the caller ID only.
Request and verify examples
Use the canonical endpoint pages for shared fields and response schemas:Example: create a Missed Call transaction
otp_length for Missed Call requests. OTP.ID accepts the field for compatibility, but the telephony vendor still determines the caller-ID digits, so the value has no effect for this channel.
Example: verify the collected trailing digits
If the user sees a number that ends with4829, submit only 4829 as the otp value.
Delivery, retry, and verification guidance
- Failed delivery: if the Missed Call never appears in the user’s log, ask them to confirm signal coverage and request a new transaction instead of reusing the current one.
- Expiry: if verification returns an expired response, start a new Missed Call flow and show that the previous caller ID can no longer be used.
- Retry: when the user taps
Try again, create a fresh request so the next call is tied to a new active transaction. - Verification limits: if the user reaches the maximum attempt response, stop the current flow and require a new request before they can verify again.
- Invalid code: if the trailing digits do not match, tell the user to re-check the last digits from the call log and submit again while attempts remain.

