decisions
Get Decisions Summary
Backs the page's lead banner — "lead with the block, not the count" only works with a real recent-blocked figure, not a fabricated placeholder. 24h window: long enough to survive a quiet morning, short enough that "lead with the block" still means recent.
Get Decisions Summary › Responses
Successful Response
List Decision Agents
Agent filter dropdown's options — exactly the agents this caller can already see decisions for, admin or not. Live key names (not each decision's own written-at-the-time agent_name snapshot — see check_action_audit._resolve_agent_name) since this is populating a filter for CURRENT agents to filter by, not labeling a historical row.
List Decision Agents › Responses
Successful Response
List Decision Rules
Rule filter dropdown's options — only rules that have actually fired in a decision this caller can see (not the org's whole rule list), titled via the store. A rule that's since been deleted/ superseded past recovery is dropped rather than shown with no title.
List Decision Rules › Responses
Successful Response
List Decisions
The activity feed. verdict is allowed|blocked|needs_human,
agent an mcp key id, rule a cited rule id, start/end ISO
timestamps (inclusive) — same filter vocabulary the detail view's
own fields use, so a click-through from a feed row's rule/agent
straight into a fresh filter always lines up.
query Parameters
verdictagentrulestartendlimitoffsetList Decisions › Responses
Successful Response
Export Decisions
Governance export -- downloaded directly rather than emailed: apps/api's only outbound email path (email.py's send_email, called by workers/tasks_digest.py) is a cron-driven org digest, not something wired to send an arbitrary logged-in caller a one-off download link, and decision-log volume here (capped at _EXPORT_MAX_ROWS below) is nowhere near a size that would need one. Same admin-vs-member visibility as list_decisions/get_decision -- an org member exports only their own agents' decisions, same as they see on the page itself (_visible_key_ids). See _EXPORT_NOTE for the compliance boundary this file's own note field states explicitly.
query Parameters
formatfieldsverdictagentrulestartendExport Decisions › Responses
Successful Response
Get Decision
The single most important screen in the product (Luka's words):
one decision, the exact rule text that fired, who approved that rule
and when, the PR that approved it, and what the agent was attempting
— everything a mildly annoyed human needs to answer "why" without a
second click. reason (evaluate_action's own judge output, grounded
in the cited rule's real text — see action_check.py's system prompt)
doubles as the plain-English "what almost happened" line: it's
already produced from the real rule context per call, not a
fabricated summary invented at render time.
path Parameters
call_idGet Decision › Responses
Successful Response