v1 REST

Developer API

The StatusEagle API lets you access your monitors and incidents programmatically. Build dashboards, integrate with third-party tools, or display real-time uptime data inside your own applications.

Introduction

All API endpoints are served over HTTPS. Requests and responses use JSON. Every successful response contains a success: true key and a data key holding the payload.

You can generate your API key from app.statuseagle.com/api-key.

Authentication

Pass your API key as a Bearer token in the Authorization header on every request.

Authorization: Bearer YOUR_API_KEY
Keep your API key secret. Do not expose it in client-side JavaScript or public repositories.

Base URL

https://api.statuseagle.com/v1

All endpoints below are relative to this base URL.

Errors

Errors return a standard HTTP status code and a JSON body with success: false and a message.

Code Meaning
401Missing or invalid API key
403Insufficient permissions
404Resource not found
422Validation error
500Internal server error

Monitors

GET /monitors

List Monitors

Returns a paginated list of all monitors for the authenticated account, including current status, last check time, and response time.

Query Parameters

Parameter Type Default Description
pageinteger1Page number
sizeinteger10Results per page
statusstringFilter by status: up, down, paused
typestringFilter by monitor type: website, ping, port, keyword, etc.
searchstringSearch by monitor name or URL

Example Request

curl -X GET "https://api.statuseagle.com/v1/monitors?page=1&size=10" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response

{
  "success": true,
  "data": {
    "monitors": [
      {
        "id": "mon_abc123",
        "name": "My Website",
        "type": "website",
        "url": "https://example.com",
        "status": "up",
        "last_checked_at": "2026-03-04T10:30:00+00:00",
        "last_checked": "2 minutes ago",
        "response_time": 243,
        "duration": "Up for 3 days",
        "notifications_paused": false,
        "created_at": "2026-01-15T08:00:00+00:00"
      }
    ],
    "pagination": {
      "current_page": 1,
      "per_page": 10,
      "total": 42,
      "last_page": 5,
      "from": 1,
      "to": 10
    }
  }
}

Response Fields

Field Description
idUnique monitor identifier
nameMonitor display name
typeMonitor type (website, ping, port, keyword, dns, cron, resource)
urlMonitored URL or hostname
statusCurrent status: up, down, partial, paused, coming_soon
last_checked_atISO 8601 timestamp of the last check
last_checkedHuman-readable time since last check (e.g. "2 minutes ago")
response_timeResponse time in milliseconds
durationHow long the monitor has been in its current status (e.g. "Up for 3 days")
notifications_pausedWhether alert notifications are paused for this monitor
GET /monitors/overview

Monitors Overview

Returns a summary of all monitors grouped by status. Useful for building dashboard widgets or status badges.

Example Request

curl -X GET "https://api.statuseagle.com/v1/monitors/overview" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "data": {
    "total_monitors": 42,
    "healthy": 38,
    "critical": 2,
    "down": 1,
    "partial": 1,
    "forbidden": 0,
    "coming_soon": 1,
    "maintenance": 0,
    "paused": 1,
    "uptime_percentage": 97.6
  }
}

Response Fields

Field Description
total_monitorsTotal number of monitors
healthyMonitors currently up
criticalDown + partial monitors combined
downMonitors that are fully down
partialMonitors with degraded performance
pausedMonitors with monitoring paused
maintenanceMonitors in a maintenance window
uptime_percentageGlobal uptime percentage across all active monitors

Incidents

GET /incidents/ongoing

Ongoing Incidents

Returns all currently open or investigating incidents for the authenticated account. Incidents are sorted newest first. Use this endpoint to display active outages inside your own applications or dashboards.

Query Parameters

Parameter Type Default Description
pageinteger1Page number
limitinteger25Results per page (max 100)
monitor_idstringFilter incidents to a specific monitor

Example Request

curl -X GET "https://api.statuseagle.com/v1/incidents/ongoing" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "data": [
    {
      "id": "65f1a2b3c4d5e6f7a8b9c0d1",
      "monitor_id": "mon_abc123",
      "monitor_name": "My Website",
      "monitor_type": "website",
      "favicon": "https://example.com/favicon.ico",
      "cause": "Connection refused",
      "status": "open",
      "started_at": "2026-03-04T08:15:00+00:00",
      "duration": "2 hours"
    }
  ],
  "pagination": {
    "current_page": 1,
    "per_page": 25,
    "total": 1,
    "last_page": 1
  }
}

Response Fields

Field Description
idUnique incident identifier
monitor_idID of the affected monitor
monitor_nameName of the affected monitor
monitor_typeType of the affected monitor
faviconMonitor favicon URL, if available
causeRoot cause / error message detected
statusopen or investigating
started_atISO 8601 timestamp when the incident began
durationHuman-readable duration since the incident started (e.g. "2 hours")

Status values

  • open — incident detected, not yet acknowledged
  • investigating — incident acknowledged and under investigation

Need help or want to request new endpoints? Contact us or visit your API key page to get started.