# GET /api/v1/monitors

> List, create, delete a website monitor, or read one monitor's up/down events

- Group: logs
- Tier: R
- Required scope: read:hosting
- Docs: https://api.inleed.com/reference/logs/manage-monitors

## Description

`action=list` returns every monitor (`data[]` + `deprecated`); `create` needs a `domain` (and optional `frequency`/`notifyOnOnline`); `delete` and `events` need a `monitorId`. Monitoring is deprecated toward inleed.io. `create`/`delete` require `write:hosting`.

## Query parameters

- `action` — enum (required). list all monitors, create one (needs domain), delete one (needs monitorId), or read one monitor's up/down events (needs monitorId). create/delete require write:hosting. One of list, create, delete, events.

## Request

```bash
curl -X GET "https://mcp.inleed.com/api/v1/monitors?action=list" \
  -H "Authorization: Bearer inl_live_…"
```

## Errors

- **401** No token was presented, or the token is revoked, expired or unknown. — codes: unauthorized, token_expired, token_revoked
- **403** The token lacks a required scope, or this account does not own the resource. — codes: insufficient_scope
- **422** Validation error — codes: validation_failed
- **429** The rate limit for this token is exhausted. See `Retry-After`. — codes: rate_limited
- **500** Something went wrong on our side. The failure is logged against `requestId`. — codes: internal_error

## Related

- POST /api/v1/monitors — https://api.inleed.com/reference/logs/create-monitors
- DELETE /api/v1/monitors/{monitor} — https://api.inleed.com/reference/logs/delete-monitors
- GET /api/v1/monitors/{monitor}/events — https://api.inleed.com/reference/logs/list-monitors

