01Jobs it does
Each one is a real command line. Copy it, or open it in the builder below to change it.
sign-in attempts
Also: login history, failed logins
p202 system login-log02What you get
--json, --csv or --ndjson for scripts, or -q for ids only. An AI agent gets compact JSON without asking. All output formats03Build your command
Pick values and the command line writes itself, quoted and ready to paste.
p202 system login-logSet flags below; the command updates as you type.
04Flags
2 flags, plus the global flags every command takes.
| Flag | What it does |
|---|---|
| --limitstring | How many attempts to list, 1-500 (default 50, as on the page) |
| --statusstring | Only the attempts that ended so: passed, failed, not_completedpassedfailednot_completed |
05How it works
The attempts Account › Settings lists (its last 50 by default; --limit up to 500). Each row is the user name typed, the time (login_time, unix seconds), the IP address and how it ended (status): passed, failed, or not_completed — the password was right but a database failure stopped the sign-in, which the sign-in throttle does not count. login_success is true for passed alone. --status lists one of them. Throttled and token-refused attempts are not recorded.
Needs an Admin or Super user key whose role has access_to_settings (as Account › Settings asks), and system:read.
06For agents
Running this from an agent
- Read the same facts as JSON:
p202 commands system login-log --json. - With
AI_AGENT,CLAUDECODEor another agent variable set, output is compact JSON and errors arrive on stderr as a JSON envelope with ahint. - Exit codes: 0 ok, 1 bad input, 2 auth, 3 network, 4 server error, 5 partial failure, 6 no Pro licence on the install.
{
"path": "p202 system login-log",
"use": "login-log",
"short": "Sign-in attempts to this install, newest first: who, when, from which IP, and how each ended",
"long": "The attempts Account › Settings lists (its last 50 by default; --limit up to 500). Each row\nis the user name typed, the time (login_time, unix seconds), the IP address and how it ended\n(status): passed, failed, or not_completed — the password was right but a database failure\nstopped the sign-in, which the sign-in throttle does not count. login_success is true for\npassed alone. --status lists one of them. Throttled and token-refused attempts are not recorded.\n\nNeeds an Admin or Super user key whose role has access_to_settings (as Account › Settings asks), and system:read.",
"runnable": true,
"example": "p202 system login-log\n p202 system login-log --status failed --limit 200 --json\n p202 system login-log --status not_completed",
"tasks": [
{
"run": "p202 system login-log",
"phrases": [
"sign-in attempts",
"login history",
"failed logins"
]
}
],
"flags": [
{
"name": "limit",
"type": "string",
"default": "",
"usage": "How many attempts to list, 1-500 (default 50, as on the page)",
"required": false
},
{
"name": "status",
"type": "string",
"default": "",
"usage": "Only the attempts that ended so: passed, failed, not_completed",
"allowed_values": [
"passed",
"failed",
"not_completed"
],
"required": false
}
]
}