Revise a Candidate
Append a complete replacement proposal as the next immutable pending version. Revise an inspected candidate proposal only when the user explicitly requests the change. Preserve exact provenance and current version. Revision is not approval, publication, installation, or execution; after a conflict inspect the current candidate before deciding whether the request still applies.
Authorization
BearerAuth Bearer credential resolved to an opaque authenticated Principal by the Server deployment.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/candidates/revise" \ -H "Content-Type: application/json" \ -d '{ "scope_id": "string", "candidate_id": "string", "expected_version": 1, "proposal": { "situation": "string", "action": "string", "outcome": "string", "lesson": "string" } }'{ "audit": { "origin": "string", "operation": "string", "dream_run_id": "string", "spec_version": "string", "proposal_digest": "string", "evidence_manifest_ref": "string", "validation_policy_digest": "string", "proposal_fingerprint": "string" }, "permissions": { "can_revise": true, "can_approve": true, "can_reject": true }, "candidate_id": "string", "version": 1, "family": "experience", "status": "pending", "proposal": { "situation": "string", "action": "string", "outcome": "string", "lesson": "string", "failure": { "signature": { "recall_cue": "string", "symptom": "string" }, "repair_surface": "experience_content", "verification": { "condition": "string", "check_subject": "string" } } }, "source_refs": [ { "name": "string", "source_id": "string" } ], "artifact_refs": [ { "family": "string", "artifact_id": "string", "revision": 1 } ], "target": { "family": "string", "artifact_id": "string", "revision": 1 }, "reason": "string", "result_artifact": { "family": "string", "artifact_id": "string", "revision": 1 }, "decision_reason": "string", "candidate_kind": "artifact", "result": { "scope_id": "string", "target": { "type": "artifact", "family": "memory", "artifact_id": "string" }, "tags": [ "string" ], "tag_digest": "string", "etag": "string" }, "operation": "string", "origin": "dream", "dream_run_id": "string"}Reject a Candidate POST
Move the exact pending version to its rejected terminal state without writing an Artifact. Reject an inspected pending candidate only when the user explicitly requests that decision. Supply its exact current version and the requested reason. A negative assessment alone does not authorize a write. Preserve conflicts and do not claim rejection before success.
History Candidates POST
Review one Tag metadata change. Approval checks both the exact candidate version and current Tag/content baseline; it never creates an Artifact revision.

