routing.handlers
LiveList registered handlers per action class.
Description
Reads from action_handlers (per ADR-0019 §1). is_canonical is true for the 1:1 canonical handler at MVP; multi-handler routing is V1.x+ per ADR-0019 §11. Per ADR-0021 §routing-preview.
Input schema
| Field | Type | Required | Description |
|---|---|---|---|
action_class | string | no | Filter to a single action class (canonical or namespaced). |
Output shape
typescript
{
handlers: Array<{
handler_id: string;
client_id: string;
action_class: string;
tier: 'webhook' | 'mcp_executor';
url_or_endpoint: string;
supported_modes: Array<'ask' | 'notify' | 'silent'>;
registered_at: string;
is_canonical: boolean;
}>;
}Example call
JSON-RPC tools/call request body (omit the JSON-RPC envelope when using an SDK; the SDK adds it for you):
jsontools/call params
{ "name": "routing.handlers", "arguments": { "action_class": "schedule" } }Example response
Tool results are always wrapped as content[0].text with a stringified JSON body. The shape below is what you get back from JSON.parse(result.content[0].text):
jsonparsed result body
{
"handlers": [
{ "handler_id": "hnd_01H...", "client_id": "cli_01HACME", "action_class": "schedule", "tier": "webhook", "url_or_endpoint": "https://acme.example.com/cortex/triggers", "supported_modes": ["ask", "notify"], "registered_at": "2026-06-10T10:00:00Z", "is_canonical": true }
]
}Errors this tool can return
| Code | Meaning |
|---|---|
invalid_arguments | Tool input failed Zod validation. |
unauthorized | Missing or invalid bearer token. |
quota_exceeded | Per-minute, daily call, or daily inference budget exceeded. |
See the full error catalog for resolution steps on each code, plus the standard transport-layer responses (401, 429).