Call the gate from your pipeline
Go to Settings, open the API Keys tab, click Generate API Key, name it and tick the api:read scope. Overriding a gate also needs api:write. Then ask about one service. The service name is the one your SLIs use, or the service linked on a synthetic check. A pipeline step can fail on anything other than200:
GET /api/deploy-gate returns every gated service at once. It always answers 200, so read each service’s allowed flag. Add ?mode=simple to either call for a short answer with only the allowed flag.
What the response means
The body also carries
advisories (notices that do not refuse the deploy, such as a suspended SLO), slos and active_incidents.
A deploy is held for any of these:
- Error budget low. The remaining budget is below the threshold, 10% unless you set another in a deploy policy.
- Error budget unknown. The SLO has never been measured. An unmeasured budget is not treated as a full one.
- SLO tracking degraded. The data source is unreachable or answering nothing, so the number cannot be trusted. See Set up SLOs.
- Fast or slow burn rate. The SLO is burning budget faster than its alert thresholds.
- Active critical incidents. Critical alerts for the service are still active or acknowledged.
- Deploy freeze. You froze the service until a set time.
Four ways to unblock a gate
In the order you probably want them:1
Fix the data source
For a degraded or unknown SLO, restore the data source. The gate clears by itself on the next
successful computation, with no further action. This is the intended path.
2
Suspend the SLO
Open the SLO under SLOs and click Suspend. A suspended SLO never blocks. The gate
reports it under
advisories so you can still see that nothing is watching that service. Any
member can do this, and Resume reverses it.3
Opt the SLO out
Edit the SLO and set Gate deploys on this SLO to Never gate deploys. This is permanent
until you change it back.
4
Override for a limited time
For a one-off emergency, grant a time-limited override (see below).
Override the gate for a limited time
An override lets deploys through despite every reason the gate is holding for: budget, burn rate, an untrusted measurement, an active incident or a freeze. The reasons are not erased. They are reported underadvisories next to the allowed answer. Every override is attributed to the person or key that set it, written to the audit log, and expires on its own after at most 72 hours.
Over the API, with a key that has the api:write scope:
duration_hours defaults to 4 and is limited to 1 through 72. The response confirms the service and the expiry time.
In the app, an organization admin can do the same from Settings on the Deploy Policies tab: click Override on the service’s policy, choose how long (1, 4, 8, 24, 48 or 72 hours), enter a Reason and click Override the gate. The policy must be enabled. Clear ends an override early.
Set thresholds and freezes
Admins manage per-service policies under Settings on the Deploy Policies tab. Click Add Policy and set:
Click Freeze on a policy to stop deploys of that service for 1 hour up to 30 days. Give a Reason, which the gate quotes back to anyone it blocks, and click Freeze deploys. Clear lifts it early.
Related
- Monitor endpoints with synthetic checks: link a check to a service so it gates deploys.
- Manage people and roles: who can override a gate.
- Troubleshooting: what to do when the gate is locked.

