A

AfriRoute

Developer Portal

public api
Sign in
Verification

Use managed Verify for OTP and trust flows

Verification should read like a managed trust workflow. AfriRoute owns OTP generation, expiry, retry limits, and delivery fallback; your app starts a challenge, checks the code, then creates its own session.

Recommended developer flow

Start a managed verification challenge, store only the returned verification identifier, collect the user code, and check it through AfriRoute Verify from your backend.

Use SMS docs only for normal messaging. Do not teach customers to build custom OTP storage, retry limits, or session tokens in public quickstarts.

Verify helper calls

afriroute.verify.start({ phone, channel })
afriroute.verify.check({ verificationId, code })

Design rule

Explain the user journey plainly: start verification, check the code, handle invalid code or expiry, then direct developers to the errors page for exact troubleshooting patterns.

Keep verification start and code check as separate backend steps.
Make expiry, retry, and invalid-code states explicit in the docs.
Use messaging for notifications, not as a replacement for managed OTP infrastructure.