Approve a Candidate
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.
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/approve" \ -H "Content-Type: application/json" \ -d '{ "scope_id": "string", "candidate_id": "string", "expected_version": 1 }'{ "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"}Get a Candidate POST
Read the current head and exact immutable proposal version. Inspect one PowerContext artifact candidate by candidate_id before discussing a requested review. Read its proposal, evidence, status, and version. Inspection grants no approval authority; do not treat a pending candidate as an active artifact.
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.

