Waive a run gate
Override a FAILING run's release gate until an expiry you name. This does NOT make the run pass: the run keeps its result, the waiver is a separate audited record, and every surface that honors it — the GitHub Check Run and the CLI's eval gate — reports the gate as waived, by whom, why, and until when.
Requires the manage tier; whoever launched the run gets no exception for having launched it. reason is stored UNREDACTED and readable by anyone who can see the suite, for as long as the suite exists.
400 covers five distinct refusals, each with a message written for the caller: the suite belongs to no organization, the reason is blank, the reason exceeds 500 characters, the expiry is not in the future, or the expiry is more than 30 days out. 403 means the caller can see the suite but lacks the manage tier — deliberately not collapsed to 404, which would send a legitimate member hunting for a run sitting in front of them.
Path parameters
ID of the hosted project that contains the server.
Eval run ID, as returned by POST /eval-runs.
Headers
Which vocabulary this request and its response speak. Absent means 1, which is byte-for-byte today's contract: the same request fields, the same refusals, the same response projection. 2 is the canonical vocabulary. Any other value is a 400 with code: "VALIDATION_ERROR".
Today it decides one thing: the spelling of an evaluator's policy role. Vocabulary 1 accepts and returns gating; vocabulary 2 accepts both spellings and returns the canonical required. Sending required without the header is a 400, deliberately — vocabulary 1 is not widened to meet vocabulary 2 half way, because a boundary that accepts a spelling it does not announce is one two implementations can disagree about.
A response that varies by vocabulary sends Vary: x-mcpjam-eval-vocabulary.
Request body
Response
The waiver was granted.
Changes
Changed in 3 of the 122 revisions of this API.3
- ○
added the new optional
headerrequest parameterx-mcpjam-eval-vocabularynew-optional-request-parameter
- ○
- ○
added the non-success response with the status
response-non-success-status-added
- ○
- ○
endpoint added
endpoint-added
- ○