Unregister a release gate version
const url = 'https://example.com/v1/release-gates/example/versions/example/unregister';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
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/release-gates/example/versions/example/unregister \ --header 'Authorization: Bearer <token>'The version stops applying; the gate’s latest remaining active version applies, or, with none, the scope above’s gate. Pins keep the version they were checked against. Needs admin on the tenant.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The release gate id.
A semver version of the release gate.
Responses
Section titled “Responses”The unregistered version.
object
The whole tenant.
object
An org’s projects.
object
One project.
object
A segment path within a project: it covers every run whose path starts with it.
object
object
Lowercase, like an identifier: company, contact-role.
What a pin must show. Every part is optional; an empty spec checks nothing. A pin must name a comparison (testRunId) exactly when the spec has comparison, evidence, metrics, replay, cases or onlyExpertGroups. Unknown keys are refused.
object
object
object
The evidence from corrections behind each gated metric; for a metric with maxDrop, the baseline’s too.
object
object
weightedPrecisionAtK only: the summary’s k must be this.
How far the candidate may fall below the baseline (the pinned version).
Each knob left out of the block is 0. No block: no replay checks.
object
At most this many tool calls the replay refused (the comparison summary’s refusedWrites). Reads count too, despite the name.
The cases the comparison graded: each correction it checked is a case, and it passes when every repetition did.
object
At least this many cases pass.
No case that passed before fails: none of the comparison’s corrections that are fixed now fails it. One the comparison didn’t grade isn’t counted; the check’s message says how many of the cases fixed now it graded.
A passing pin waits for a reviewer.
object
Default senior.
Default true.
Only expert groups count: the comparison must be weighted experts-only, so a group anyone may assert can’t move the gate.
Present only on an unregistered version: a retired gate (every version unregistered) as GET /v1/release-gates?includeRetired=true lists it.
Example
{ "scope": { "kind": "tenant" }, "spec": { "metrics": [ { "name": "passRate" } ], "approvals": { "role": "standard" } }}Malformed request body.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}Missing / malformed / expired / revoked bearer token.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}No such version.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}Idempotency-Key was reused with a different body, or resource-state conflict.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}Server error (unmapped domain code or framework crash).
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}See also
GET /v1/release-gates/{releaseGateId}: Get a release gateGET /v1/release-gates/{releaseGateId}/versions: List a release gate's versionsGET /v1/release-gates/{releaseGateId}/versions/{version}: Get a release gate versionPOST /v1/release-gates/{releaseGateId}/versions/{version}/reinstate: Reinstate a release gate version- Every error code