EvoHub Docs Sign in

Uptime API › Checks and uptime

Get a monitor's uptime per day

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}/uptime/daily

One entry per UTC calendar day for the last days days, today included, oldest first — the data behind an uptime calendar. A day with no checks is no_data, never counted as up.

Requires the uptime:monitor:read scope.

Authorization

Any one of:

Parameters

Path parameters

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

Query parameters

  • days integer
    How many days to return. Values are clamped to 1–90; a value that is not a number is read as 90.
    Default: 90 · Minimum: 1 · Maximum: 90

Responses

200

The days.

Content type: application/json

Type: object

  • data object
    • monitor_id string required
    • days array of DailyUptime required
      Show DailyUptime properties
      • date string (date) required
        The UTC calendar day.
      • up_ratio number | null required
        Share of up checks, 0–1; null with no checks.
      • status string required
        operational when every check was up, down when none was, degraded in between, no_data without checks.
        One of: operational degraded down no_data
      • checks integer required

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/uptime/daily' \
  -H 'Authorization: Bearer <TOKEN>'

Last updated