Status

Get the overall status of all your monitors with a single API call. Returns aggregate health and individual monitor states.Last updated: 2026-02-14

The Status endpoint provides a consolidated view of your team's monitoring health, including the overall status and individual monitor states.

GET /v1/status

Returns the overall status of all monitors in your team, along with a summary and details for each monitor.

Required Scope

monitors:read

Example Request

cURL

curl https://api.uptime.example.com/v1/status \
  -H "Authorization: Bearer uptime_your_api_key"

Response

{
	"status": "degraded",
	"monitors": [
		{
			"id": "mon_abc123",
			"name": "Production API",
			"status": "up",
			"enabled": true,
			"lastCheck": "2026-02-14T10:30:00Z",
			"responseTimeMs": 142
		},
		{
			"id": "mon_def456",
			"name": "Marketing Website",
			"status": "degraded",
			"enabled": true,
			"lastCheck": "2026-02-14T10:29:45Z",
			"responseTimeMs": 2340
		},
		{
			"id": "mon_ghi789",
			"name": "Staging Environment",
			"status": "unknown",
			"enabled": false,
			"lastCheck": null,
			"responseTimeMs": null
		}
	],
	"summary": {
		"total": 3,
		"up": 1,
		"down": 0,
		"degraded": 1,
		"unknown": 1
	}
}

Response Fields

FieldTypeDescription
statusstringOverall team status: operational, degraded, partial_outage, major_outage, or unknown
monitorsarrayList of all monitors with their current state
monitors[].idstringUnique monitor identifier
monitors[].namestringDisplay name of the monitor
monitors[].statusstringCurrent status: up, down, degraded, or unknown
monitors[].enabledbooleanWhether the monitor is actively checking
monitors[].lastCheckstring | nullISO 8601 timestamp of the last check, or null if never checked
monitors[].responseTimeMsnumber | nullResponse time in milliseconds, or null if unavailable
summaryobjectAggregate counts of monitor states
summary.totalnumberTotal number of monitors
summary.upnumberCount of monitors with up status
summary.downnumberCount of monitors with down status
summary.degradednumberCount of monitors with degraded status
summary.unknownnumberCount of monitors with unknown status

Overall Status Calculation

The overall status field is calculated based on monitor states:

  • operational - All enabled monitors are up
  • degraded - At least one monitor is degraded, but none are down
  • partial_outage - Some monitors are down, but not all
  • major_outage - All enabled monitors are down
  • unknown - No enabled monitors, or all monitors have unknown status

Possible Errors

StatusCodeDescription
401UNAUTHORIZEDMissing or invalid API key
403FORBIDDENAPI key doesn't have monitors:read scope
429RATE_LIMITEDToo many requests
500INTERNAL_ERRORServer error

Response Schema

Use this schema to validate the response in your integration:

{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"type": "object",
	"required": ["status", "monitors", "summary"],
	"properties": {
		"status": {
			"type": "string",
			"enum": ["operational", "degraded", "partial_outage", "major_outage", "unknown"]
		},
		"monitors": {
			"type": "array",
			"items": {
				"type": "object",
				"required": ["id", "name", "status", "enabled", "lastCheck", "responseTimeMs"],
				"properties": {
					"id": {
						"type": "string"
					},
					"name": {
						"type": "string"
					},
					"status": {
						"type": "string",
						"enum": ["up", "down", "degraded", "unknown"]
					},
					"enabled": {
						"type": "boolean"
					},
					"lastCheck": {
						"type": ["string", "null"],
						"format": "date-time"
					},
					"responseTimeMs": {
						"type": ["number", "null"],
						"minimum": 0
					}
				}
			}
		},
		"summary": {
			"type": "object",
			"required": ["total", "up", "down", "degraded", "unknown"],
			"properties": {
				"total": {
					"type": "integer",
					"minimum": 0
				},
				"up": {
					"type": "integer",
					"minimum": 0
				},
				"down": {
					"type": "integer",
					"minimum": 0
				},
				"degraded": {
					"type": "integer",
					"minimum": 0
				},
				"unknown": {
					"type": "integer",
					"minimum": 0
				}
			}
		}
	}
}