Appearance
POST /v1/memory/tools/run
POST /v1/memory/tools/run
Reads the lifecycle of one tool-selection run and returns linked decisions and optional feedback summary.
Request schema
Required:
run_id
Common fields:
tenant_id?: stringscope?: stringrun_id: stringdecision_limit?: number(default10, max200)include_feedback?: boolean(defaulttrue)feedback_limit?: number(default50, max200)
Example request
bash
curl -sS "$BASE_URL/v1/memory/tools/run" \
-H 'content-type: application/json' \
-d '{
"tenant_id":"default",
"scope":"support",
"run_id":"run_20260305_001",
"include_feedback":true
}' | jqResponse schema
Key response fields:
run_idlifecycle.statuslifecycle.decision_countdecisions[]feedback(optional)lifecycle_summary
Idempotency
- Idempotent read endpoint for a fixed run.
- Output can grow if new decisions or feedback are still being appended to the same
run_id.
Rate limit
- Uses recall-class limiter and recall tenant quota.
- Bound retries for
429; avoid retry loops on malformed or missing run IDs.
Error codes
Common errors:
invalid_request(400)not_found(404)unauthorized/forbidden(401/403)rate_limited_*(429)
Replay IDs to persist
request_idrun_id- any returned
decision_id - any returned
decision_uri tenant_idandscope
Operational notes
- Use one stable
run_idacrosstools/select,tools/decision,tools/run, andtools/feedback. - This is the read surface to inspect current lifecycle state after a resumed execution attempt.
- When
include_feedback=true, treat thefeedbackblock as a summary view; persist individual feedback identifiers separately if you need a full audit trail.