get_2fa_status
Check the status of a 2FA session by session ID. Returns whether the challenge has been completed, is pending, or has expired.
Agent usage: Poll this after calling start_2fa. Check every few seconds. Terminal states: "verified" (proceed with protected operation), "expired" (restart with start_2fa). While "pending", the user has not yet entered their code.
Before calling this for a challenge you created, make sure your reply text already shows the user what to act on — the link itself, the SMS text and number, or a note to check their inbox; a link that appeared only in a tool result is one they never saw.
ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"session_id": "<session_id>"
},
"name": "get_2fa_status"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | 2FA session ID |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| session_id | Yes | ||
| action_type | Yes | The action the session was started for: one of `TwoFAActionType` for sessions started through this API; admin-console sessions carry internal values. | |
| verified_at | No | ||
| grant_expires_at | No | When the grant this step-up stored stops being accepted | |
| grant_single_use | No | Whether the grant is spent by the first act it allows |