EvoHub Docs Sign in

Uptime API › Checks and uptime

List a monitor's outages

Use with AI
View as MarkdownThis page as plain text, for pasting into an AI tool Open in ClaudeAsk Claude questions about this page Open in ChatGPTAsk ChatGPT questions about this page
Connect to Cursor / VS Code / ClaudeSearch and read these docs from your AI tool (MCP server)

MCP server URL

https://docs-dev.evohub.io/mcp

Claude Code

claude mcp add --transport http evohub-docs-docs https://docs-dev.evohub.io/mcp

Claude (claude.ai and Claude Desktop): Settings → Connectors → Add custom connector, and paste the URL above.

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "evohub-docs-docs": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://docs-dev.evohub.io/mcp"
      ]
    }
  }
}

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "evohub-docs-docs": {
      "url": "https://docs-dev.evohub.io/mcp"
    }
  }
}

VS Code — .vscode/mcp.json

{
  "servers": {
    "evohub-docs-docs": {
      "type": "http",
      "url": "https://docs-dev.evohub.io/mcp"
    }
  }
}
GET/api/v1/monitors/{id}/incidents

Every outage the monitor has had, newest first. An outage opens when the monitor goes down and is resolved when it comes back up; one that is still open has no resolved_at. Outages are recorded by Uptime and cannot be created or changed through the API.

data is [] when the monitor has never been down.

Requires the uptime:incident:read scope.

Authorization

Any one of:

Parameters

Path parameters

  • id string required
    The monitor's ID.
    Example: mon_8c1d0b52-6f3e-4a7d-9b21-0e5c4f7a3d19

Responses

200

The outages.

Content type: application/json

Type: object

  • data array of Incident
    Show Incident properties
    • id string
    • monitor_id string
    • org_id string
    • started_at string (date-time)
    • resolved_at string (date-time)
      Absent while the outage is open.
    • duration_seconds integer
      Present once resolved.
    • cause string
    • last_alerted_at string (date-time)

401

No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: MONITOR_NOT_FOUND
    • message string required
      Example: monitor not found
    • request_id string

403

The key lacks the scope this endpoint needs (FORBIDDEN).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: MONITOR_NOT_FOUND
    • message string required
      Example: monitor not found
    • request_id string

404

The monitor does not exist, or belongs to a team the caller cannot see (MONITOR_NOT_FOUND).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: MONITOR_NOT_FOUND
    • message string required
      Example: monitor not found
    • request_id string

429

Too many requests (RATE_LIMITED). Wait for Retry-After seconds.

Headers

  • Retry-After integer
    Seconds to wait before retrying.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: MONITOR_NOT_FOUND
    • message string required
      Example: monitor not found
    • request_id string

500

Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Example: MONITOR_NOT_FOUND
    • message string required
      Example: monitor not found
    • request_id string

Example request

curl -X GET 'https://evohub.io/api/v1/monitors/mon_8c1d0b52-6f3e-4a7d-9b21-0e5c4f7a3d19/incidents' \
  -H 'Authorization: Bearer <TOKEN>'

Last updated