decision.history
LivePaginated read across decisions, filtered by counterparty / action class / time window.
Description
Lists decisions with cursor pagination. Default page size 25; max 100. Per ADR-0021 §read-API Family A.
Input schema
| Field | Type | Required | Description |
|---|---|---|---|
counterparty_id | string | no | Filter by counterparty. |
action_class | string | no | Filter by action class (canonical or namespaced). |
since | string (ISO-8601) | no | Lower bound on occurred_at. |
until | string (ISO-8601) | no | Upper bound on occurred_at. |
limit | integer | no | Default 25; max 100. |
cursor | string | no | Pagination cursor. |
Output shape
typescript
{
items: Array<{ decision_id: string; decision_class: string; payload_summary: string; occurred_at: string }>;
next_cursor?: string;
}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": "decision.history",
"arguments": { "counterparty_id": "entity_01HXSARAH", "limit": 10 }
}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
{
"items": [
{ "decision_id": "dec_01HX...", "decision_class": "action_proposed", "payload_summary": "Propose reply to Sarah about Thursday meeting.", "occurred_at": "2026-06-15T11:24:00Z" }
],
"next_cursor": "cur_01HX..."
}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).