Client parity reference
This matrix maps each task to its REST endpoint, MCP tool, CLI command and web UI page. A dash means the client has no entry point for the task. Entries were checked against the controllers,AppMcpTools, the CLI commands and the UI routes.
Roles apply to every client: a key without the needed role gets 403 from REST, MCP and the CLI. See Security reference.
Sessions and workflows
| Task | REST | MCP | CLI | Web UI |
|---|---|---|---|---|
| List sessions | GET /api/sessions, GET /api/sessions/summaries | list_sessions | session list, session summaries | Sessions page |
| Show a session | GET /api/sessions/{id} | get_session_details | session get | Session page |
| Create or replace a session | POST /api/sessions | create_session | session apply | New session, Import JSON, Templates |
| Export a session as JSON | GET /api/sessions/{id}/config | – | session config | Session page |
| Delete a session or workflow | DELETE /api/sessions/{id}, DELETE /api/sessions/{id}/workflows/{wf} | delete_session, delete_workflow | session delete, session workflow delete | Session and workflow pages |
| Show a workflow and its graph | GET /api/sessions/{id}/workflows/{wf}, .../graph | get_workflow_details | session workflow get, session workflow graph | Workflow page |
| List runs of a workflow | GET /api/sessions/{id}/workflows/{wf}/executions | get_workflow_history (per session) | session workflow executions | Workflow page |
| Validate a draft | POST /api/sessions/validate | – | session validate | Editor |
| Check a working directory | POST /api/sessions/validate/project-path | – | – | New session form |
| Versions, diff, note, rollback | .../versions, .../versions/diff, .../versions/note, .../rollback | list_workflow_versions, diff_workflow_versions, note_workflow_version, rollback_workflow | session workflow versions|diff|note|rollback | Workflow page |
| Templates | GET /api/templates, GET /api/templates/{id} | – | – | New session |
| Plugin catalogue | GET /api/plugins, .../{type}, .../{type}/usage | list_plugins, get_plugin_details | plugin list, plugin get | Plugins page |
| AI backends | GET /api/ai/backends | list_ai_backends | none | none |
Runs
| Task | REST | MCP | CLI | Web UI |
|---|---|---|---|---|
| Start a run | POST /api/workflow/start | start_workflow | workflow start | Workflow page |
| Pause, resume, stop one run | POST /api/executions/{id}/pause|resume|stop | control_workflow | workflow pause|resume, workflow executions stop | Run controls |
| Stop all runs of a workflow | POST /api/workflow/{session}/{wf}/stop | control_workflow (STOP_ALL) | workflow stop | Run controls |
| Restart a run, or from a node | POST /api/executions/{id}/restart | control_workflow (RESTART, RESTART_FROM_NODE) | workflow executions restart | Run controls, node menu |
| Recover an aborted run | POST /api/executions/{id}/recover | control_workflow (RECOVER) | workflow executions recover | Run controls |
| Change the priority of a queued run | POST /api/executions/{id}/priority | – | workflow executions priority | Run controls |
| Run status | GET /api/executions/{id} | get_workflow_status | workflow status | Workflow page |
| History of a session | GET /api/workflow/{session}/history | get_workflow_history | workflow history | Workflow page |
| Sub-workflow runs | GET /api/executions/{id}/tree | get_execution_tree | workflow tree | Workflow page |
| Search runs across sessions | GET /api/executions, GET /api/executions/counts | – | workflow executions search | Runs page |
| Live status of a run | GET /api/executions/{id}/status/stream | – | workflow status-stream | Workflow page |
| Results at terminal nodes | GET /api/sessions/{s}/executions/{id}/results | get_execution_result | result | Workflow page |
| Log lines | GET /api/sessions/{s}/executions/{id}/logs, .../logs/entries | get_execution_logs | logs | Logs panel |
| Output of one node | GET /api/executions/{id}/nodes/{node}/output | get_node_output | logs --node | – |
Nodes
| Task | REST | MCP | CLI | Web UI |
|---|---|---|---|---|
| Pause, resume, stop, skip, step a node | POST /api/executions/{id}/nodes/{node}/... | control_node | workflow node pause|resume|stop|skip, workflow node step enable|disable|next | Node menu |
| Retry from a failed node | POST /api/executions/{id}/nodes/{node}/retry | control_node (RETRY) | workflow node retry | Node menu |
| Set or clear a breakpoint | POST, DELETE /api/executions/{id}/nodes/{node}/breakpoint | set_node_breakpoint, control_node (BREAKPOINT_CLEAR) | workflow node breakpoint | Node menu |
| Send a raw control-bus command | POST /api/control/workflows/{wf}/nodes/{node}/command | – | controlbus command | – |
| Trigger a workflow from outside | POST /hooks/{session}/{path} | – | – | – |
Input requests
| Task | REST | MCP | CLI | Web UI |
|---|---|---|---|---|
| List requests | GET /api/inputs, GET /api/sessions/{id}/inputs | list_pending_inputs | inputs list | Inputs panel on the workflow page; Control overview |
| Read one request | GET /api/executions/{id}/inputs/{request} | – | inputs show | Inputs panel |
| Answer | POST /api/executions/{id}/inputs/{request}/answer | answer_input | inputs answer | Inputs panel |
| Escalate | POST /api/executions/{id}/inputs/{request}/escalate | escalate_input | inputs escalate | Inputs panel |
| Answer by token | POST /api/inputs/token-answer | – | – | – |
| Watch input events | GET /api/events/stream | – | controlbus watch --type InputRequested,... | Control activity |
Supervisors
| Task | REST | MCP | CLI | Web UI |
|---|---|---|---|---|
| List engines, describe one | GET /api/supervisor-engines, .../{type}, .../{type}/usage | list_supervisor_engines, get_supervisor_engine | supervisors engines [type] | Supervisors page |
| Presets of an engine | GET /api/supervisor-engines/{type}/presets | list_supervisor_presets | supervisors presets | Supervisors page |
| Running supervisors | GET /api/supervisors/status | list_supervisors | supervisors | Supervisors page, Control overview |
| List, read | GET /api/supervisors, GET /api/supervisors/{id} | list_supervisors, get_supervisor | supervisors list|show | Supervisors page |
| Save, validate, delete | POST /api/supervisors, PUT /api/supervisors/{id}, POST /api/supervisors/validate, DELETE /api/supervisors/{id} | save_supervisor, delete_supervisor | supervisors save|validate|delete | Supervisor editor |
| Assignments: read, check, set | GET|PUT /api/supervisors/{id}/assignments, POST .../assignments/check, GET /api/supervisors/assignments | check_assignment, set_assignments | supervisors assignments|assign|unassign|check-assign|set-assignments | Supervisor page |
| Parents | PUT /api/supervisors/{id} (parents, delegation) | save_supervisor (settings only; parents not an argument) | supervisors parents set | Supervisor editor |
| Versions, rollback | GET .../versions, POST .../rollback | list_supervisor_versions, rollback_supervisor | supervisors versions|rollback | Supervisor page |
| Replay on a past run | POST .../replay | replay_supervisor | supervisors replay | – |
| Rules document: read, save, replay | GET|PUT .../engine/rules, POST .../engine/rules/replay | get_rules, save_rules, replay_rules | supervisors rules get|set|replay | Supervisor editor |
| Credential: issue, show, revoke | POST|GET|DELETE .../credential | create_credential, revoke_credential | supervisors credential create|show|revoke | Supervisor page |
| Run a program as agent | – | – | supervisors agent | – |
| Recent decisions | GET /api/supervisors/decisions | – | supervisors decisions | Supervisor activity |
| Who owns a node or run | GET /api/supervision/ownership | get_ownership | ownership | Workflow supervision tab |
| Who may send which command | GET /api/supervision | get_supervision | supervision | Run and node controls (disabled with the owner named) |
| Unowned workflows | GET /api/supervision/summary | get_supervision_summary | supervision-summary | Supervisors page |
| Contract version | GET /api/supervisor-contract | get_supervisor_contract | supervisor-contract | – |
Server and the Control dashboard
| Task | REST | MCP | CLI | Web UI |
|---|---|---|---|---|
| Scheduler limits | GET, POST /api/scheduler/limits | get_scheduler_limits, set_scheduler_limits | scheduler limits, scheduler set | Control › Overview (Capacity) |
| Drain the server | GET, POST, DELETE /api/admin/drain | – | – | Control › Overview (Capacity) |
| Workers | GET /api/workers | – | workers | Control › Overview |
| Control audit | GET /api/control/audit | – | controlbus audit | Control › Audit |
| Live events of all runs | GET /api/events/stream | – | controlbus watch | Control › Activity |
| Control bus status | – | get_control_bus_status | – | Control › Overview |
| Metrics | GET /api/metrics/snapshot, /series, /heatmap, /modules, /annotations, /runs/live, /catalog, /stream | get_metrics_snapshot | – | Control › Overview (panels, scope filter, kiosk) |
| Who am I | GET /api/me | whoami | whoami | Identity chip in the header |
| Edition | GET /api/edition | – | – | – |