Approve a `manual` gate (ADR-0008, 0037). The authenticated principal's approval is recorded on the event log (append-only, idempotent). For a **deploy** run (one with a target environment), the gate is released only once the accumulated approvers satisfy the environment's protection rules (`admits`); on release the deployment is written to history. A plain gate (no environment) releases on the first approval. Authz'd as a write.
POST
/v1/runs/{id}/gates/{step}/approve
const url = 'https://example.com/v1/runs/example/gates/example/approve';const options = {method: 'POST'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/runs/example/gates/example/approveParameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string
Run id
step
required
string
Gate step id
Responses
Section titled “Responses”Approval recorded (released or awaiting more approvals)
No such run or gate