commitments.list
LiveList tracked commitments with filters.
Description
Filter by counterparty, state (open / snoozed / resolved / delegated / expired), or due_before. Per ADR-0021 §read-API Family C.
Input schema
| Field | Type | Required | Description |
|---|---|---|---|
counterparty_id | string | no | Filter to a single counterparty. |
state | 'open' | 'snoozed' | 'resolved' | 'delegated' | 'expired' | no | Filter by lifecycle state. |
due_before | string (ISO-8601) | no | Filter to commitments due before this time. |
limit | integer | no | Default 25; max 100. |
Output shape
typescript
{ items: Array<{ commitment_id: string; subject: string; counterparty_id?: string; due_at?: string; state: string; source_episode_id?: string; created_at: 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": "commitments.list", "arguments": { "state": "open", "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": [
{ "commitment_id": "cmt_01H...", "subject": "Send Marcus the timeline doc", "counterparty_id": "entity_01HXMARCUS", "due_at": "2026-06-13T17:00:00Z", "state": "open", "source_episode_id": "ep_01H...", "created_at": "2026-06-10T11:24:00Z" }
]
}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).