Reject a Candidate
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.
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/reject" \ -H "Content-Type: application/json" \ -d '{ "scope_id": "string", "candidate_id": "string", "expected_version": 1, "reason": "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"}Approve a Candidate POST
Commit the reviewed proposal and mark the Candidate approved in one transaction. Approve an inspected pending candidate only on an explicit human decision for that exact candidate and version, using the current authorization channel. A request to list, summarize, generate, or assess a candidate is not approval. Never self-approve generated work; report success only after the decision completes.
Revise a Candidate POST
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.

