Skip to main content
API overview

API Reference

Deploy Gate

Check recorded vendor status before a deployment

GET/deploy-gate
API token

Check vendor status before deployment

Check stored status for your organization's vendors, optionally narrowed by the services query parameter. A recorded major_outage returns safe: false. Your deployment workflow must require this check for it to block a deployment.

Read the result

An unmatched service ID or slug also returns safe: false and appears in unmatchedServices. An empty ?services= returns safe: false, an empty unmatchedServices list and totalServicesChecked: 0. Log both blockedServices and unmatchedServices.

What a passing result means

The gate does not block degraded, partial-outage, maintenance or unknown status, and it does not check observation age. checkedAt is the request evaluation time; the response does not include vendor observation dates. Omitting services when your organization tracks no services can return safe: true with zero services checked. Require a positive totalServicesChecked in your workflow.

A passing result does not guarantee a safe deployment or confirm application health. The deployment check recipe includes a script that also rejects empty results, invalid responses and failed requests.

Parameters

servicesstringqueryoptional

Comma-separated list of service IDs or slugs to check. When omitted, all services your organization depends on are evaluated.

Responses

safebooleanRequired

true when no checked service has recorded major_outage status and the optional filter is resolved. A supplied filter must be non-empty and every identifier must match. Read unmatchedServices when safe is false but blockedServices is empty. This field does not account for unknown status or observation age, and can be true for an unfiltered request with zero services.

degradedServicesDeployGateService[]Required

Services with recorded degraded or partial_outage status. These do not make safe false; your workflow decides how to handle them.

blockedServicesDeployGateService[]Required

Services with recorded major_outage status, which makes safe false.

unmatchedServicesstring[]Required

Requested service IDs or slugs that your organization does not track. Any unmatched identifier makes safe false. This list is empty when the parameter is omitted. An empty ?services= also returns safe: false, but with an empty list and totalServicesChecked: 0.

checkedAtstringRequired

When this request evaluated the stored statuses. This is not the timestamp of a vendor observation.

totalServicesCheckedintegerRequired

Number of services evaluated

Example Response

JSON
{
  "safe": true,
  "degradedServices": [],
  "blockedServices": [],
  "unmatchedServices": [],
  "checkedAt": "2026-03-12T10:00:00.000Z",
  "totalServicesChecked": 5
}

Code Samples

Code
# Gate a deployment on upstream health
curl -sf -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://checkupstream.com/api/v1/deploy-gate?services=stripe,openai' \
  | jq -e '.safe'

Create an API token

Use a read-scoped API token for organization data in scripts and backend services.