Skip to main content

Overview

An incident records an outage or degradation of a monitor, or an issue your team reports manually. UptimeIO opens and resolves system incidents for you; the API lets you read them, acknowledge and resolve them, and record incidents for problems detected elsewhere.

Authentication

Send one of:
  • X-API-Key: YOUR_API_KEY: API keys with read scope can call the read endpoints; write endpoints (POST, PUT) need read_write scope.
  • Authorization: Bearer YOUR_JWT
Write endpoints also require the can_manage_incidents permission for the authenticated user. Without it they return 403 INSUFFICIENT_PERMISSIONS. Incidents are scoped to your organization and project. JWT users may add X-Organization-ID and X-Project-ID headers to choose them; otherwise the defaults apply. An API key is tied to one organization.

Concepts

Status lifecycle

Transitions outside this table, including setting the status an incident already has, are rejected with 400 VALIDATION_ERROR.

Severity

critical, major, minor, warning.

Types

Sources

system (opened by UptimeIO) or manual (created through the API or dashboard).

Timestamps

Incident timestamps (started_at, created_at, resolved_at, …) are ISO 8601 strings in UTC.

Endpoints

Common workflows

Respond to an open incident:
Poll for changes using since (a Unix timestamp in milliseconds) on List Incidents.

Responses and errors

Successful responses use { "success": true, "data": ... }. The list endpoint returns its paging fields inside data, not in a top-level pagination object. Errors use { "success": false, "error": { "code", "message", "details"? } }; see Errors.