- Runbooks: list (paginated), get, create (with step counting), archive - Executions: trigger with dry_run + variables, history, detail with audit trail - Approvals: list pending, approve/reject with Redis pub/sub notification to agent - Slack bot: approve_step/reject_step button handlers with DB updates + agent bridge - All routes use withTenant() RLS