SMS

OTP send and verify

A one-time code round trip in two calls.

Send

POST/v1/applications/{id}/sms/verify/sendconsole
{ "to": "+9779800000000", "purpose": "login" }

→ 200 { "verification_id": "ver_1b9e…", "provider": "smsnepal", "expires_in": 300 }
→ 422 { "detail": "sms_backend_422: no provider enabled for +977" }

Check

POST/v1/applications/{id}/sms/verify/checkconsole
{ "verification_id": "ver_1b9e…", "code": "482913" }

→ 200 { "status": "approved" }
→ 200 { "status": "pending", "attempts_left": 2 }

Rate budgets are per router tenant. A backend-callable variant of these routes ships with the server SDKs.