Appearance
POST /v1/memory/tools/decision
POST /v1/memory/tools/decision
Reads one persisted tool-selection decision and returns a compact lifecycle summary.
Request schema
Required:
- at least one of
decision_id,decision_uri, orrun_id
Common fields:
tenant_id?: stringscope?: stringdecision_id?: string (UUID)decision_uri?: stringrun_id?: string
Example request
bash
curl -sS "$BASE_URL/v1/memory/tools/decision" \
-H 'content-type: application/json' \
-d '{
"tenant_id":"default",
"scope":"support",
"decision_id":"3d1868e2-e6d3-4f69-952e-61f53ef2ef30"
}' | jqResponse schema
Key response fields:
decision.decision_iddecision.run_iddecision.selected_tooldecision.candidates[]decision.decision_urilookup_modelifecycle_summary
Idempotency
- Idempotent read endpoint for a fixed decision record.
- Output is stable unless the underlying run is still being appended with later feedback.
Rate limit
- Uses recall-class limiter and recall tenant quota.
- Retry only on
429and transient5xx.
Error codes
Common errors:
invalid_request(400)not_found(404)unauthorized/forbidden(401/403)rate_limited_*(429)
Replay IDs to persist
request_iddecision.decision_iddecision.run_iddecision.decision_uritenant_idandscope
Operational notes
- Use this endpoint after
tools/selectwhen you need an authoritative read of the persisted decision record. lookup_modetells you whether the server resolved bydecision_id,decision_uri, orrun_id.- Persist
decision_idfromtools/selectfirst; prefer directdecision_idlookup over looser matching modes.