API reference
Outcome Feedback API
The difference between a registry and a readiness network. An HTTP 200 is not task success — agents report whether the result was actually usable, and scores recalibrate on it.
POST
/v1/capabilities/outcomeOutcome fields
| Field | Description |
|---|---|
| call_completed | The invocation finished without transport-level failure. |
| result_usable | The agent could actually use the result for the task. |
| subgoal_completed | The user-visible subtask was completed. |
| fallback_needed | The agent had to switch to a fallback capability. |
| user_repair_needed | A human had to fix the result afterwards. |
| agent_judgement | Self-assessed score, confidence, and structured reason codes. |
request.sh
curl -X POST http://101.32.68.30/v1/capabilities/outcome \
-H 'Authorization: Bearer $API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"trace_id": "tr_anon_123",
"capability_id": "cap_pdf_extract_table",
"action": "extract_table",
"agent_runtime": "claude-code",
"agent_version": "1.0.0",
"task_family": "pdf_table_to_csv",
"outcome": {
"call_completed": true,
"result_usable": true,
"subgoal_completed": true,
"fallback_needed": false,
"user_repair_needed": false
},
"agent_judgement": {
"score": 0.86,
"confidence": 0.74,
"reason_codes": ["schema_valid", "result_used_in_final_answer"]
},
"privacy": {
"contains_raw_prompt": false,
"contains_user_file": false,
"contains_pii": false
}
}'Privacy contract
Outcome reports are structurally validated: payloads flagged as containing raw prompts, user files, or PII are rejected with 422. Reports are de-identified on ingestion and weighted by each agent's historical reliability.
response.json
{
"accepted": true,
"outcome_id": "out_123",
"score_refresh_scheduled": true
}