> ## Documentation Index
> Fetch the complete documentation index at: https://docs.happyuptime.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get monitor

Retrieve monitor details including 30-day uptime percentage.

# Get monitor

GET `/monitors/:id`

Get monitor details including 30-day uptime percentage.

**Auth:** Bearer token (`read` scope)

## Request

```bash
curl -H "Authorization: Bearer hu_..." \
  "https://happyuptime.com/api/v1/monitors/mon_abc123"
```

## Response

```json
{
  "data": {
    "id": "mon_abc123",
    "project_id": "proj_xyz",
    "name": "API Server",
    "type": "http",
    "url": "https://api.example.com/health",
    "method": "GET",
    "status": "up",
    "interval_seconds": 60,
    "timeout_ms": 30000,
    "regions": ["us-east", "eu-west", "ap-southeast"],
    "tags": ["production", "api"],
    "headers": {},
    "assertions": {
      "status_code": 200
    },
    "paused": false,
    "uptime_30d": 99.97,
    "created_at": "2026-03-01T10:00:00Z",
    "updated_at": "2026-03-07T14:30:00Z"
  }
}
```

## Response fields

**id**

Unique monitor ID, prefixed with `mon_`.

**status**

Current aggregate status: `up`, `down`, `degraded`, or `unknown`.

**uptime_30d**

Uptime percentage over the trailing 30 days.

**regions**

Regions the monitor runs from. Any of: `us-east`, `us-west`, `eu-west`, `eu-central`, `ap-southeast`, `ap-northeast`.

**assertions**

Response assertions applied on every check (e.g. `status_code`, `body_contains`).