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