Returning Login 2FA
Ravi gives AI agents their own identity (email inbox, real phone, encrypted vault) so they can sign up for services, receive verification codes, and keep the passwords they create. For teams whose agents have to act on the web, not just talk.
The identity receives the second factor
Same identity handles returning-login 2FA. When the agent signs back in, the service sends a second factor to the phone number or email address on the account — the identity’s own phone and inbox. The agent reads that message and submits the code. The agent owns a real phone and email, so it can receive the legitimate 2FA or OTP the service sends.
Use the same identity-scoped key (ravi_id_...) you used at signup, or a
management key (ravi_mgmt_...) with ?identity=<uuid>. Device-code login
(ravi auth login) against https://api.ravi.app is the local CLI path. The
CLI is one identity per machine (~/.ravi/config.json is not a multi-agent
runtime).
export RAVI_API_KEY="ravi_id_..."
export IDENTITY_UUID="<identity-uuid>"
# SMS second factors land on the identity's phone.
curl "https://api.ravi.app/api/sms-inbox/?identity=$IDENTITY_UUID" \
-H "Authorization: Bearer $RAVI_API_KEY"
# Email second factors land on the identity's inbox.
curl "https://api.ravi.app/api/email-inbox/?identity=$IDENTITY_UUID" \
-H "Authorization: Bearer $RAVI_API_KEY"
Poll until the second factor arrives, then complete the login the service
challenged. Keys and device-code login: Authentication
(https://docs.ravi.app/getting-started/authentication.txt). Creating that
identity: Sign Up
(https://docs.ravi.app/getting-started/sign-up.txt).
Next Steps
- The site texted a code and the agent has no phone
- Authentication
- Sign Up
- Status — API and docs availability