# Uptime Monitors

## GET /monitors

> List all uptime monitors

```json
{"openapi":"3.0.3","info":{"title":"Hydrozen.io API","version":"1.0.0"},"servers":[{"url":"https://app.hydrozen.io/api","description":"Production API server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Monitor":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["http","tcp","udp","ping"]},"url":{"type":"string"},"frequency":{"type":"integer","description":"Frequency of checks in seconds"},"last_status":{"type":"string","enum":["up","down","unknown"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}},"paths":{"/monitors":{"get":{"summary":"List all uptime monitors","tags":["Uptime Monitors"],"parameters":[{"in":"query","name":"page","schema":{"type":"integer"}},{"in":"query","name":"limit","schema":{"type":"integer"}}],"responses":{"200":{"description":"List of monitors","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Monitor"}}}}}}}}}}
```

## POST /monitors

> Create a new uptime monitor

```json
{"openapi":"3.0.3","info":{"title":"Hydrozen.io API","version":"1.0.0"},"servers":[{"url":"https://app.hydrozen.io/api","description":"Production API server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Monitor":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["http","tcp","udp","ping"]},"url":{"type":"string"},"frequency":{"type":"integer","description":"Frequency of checks in seconds"},"last_status":{"type":"string","enum":["up","down","unknown"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}},"paths":{"/monitors":{"post":{"summary":"Create a new uptime monitor","tags":["Uptime Monitors"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"type":{"type":"string"},"frequency":{"type":"integer"}}}}}},"responses":{"201":{"description":"Monitor created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Monitor"}}}}}}}}}
```

## GET /monitors/{id}

> Retrieve an uptime monitor by ID

```json
{"openapi":"3.0.3","info":{"title":"Hydrozen.io API","version":"1.0.0"},"servers":[{"url":"https://app.hydrozen.io/api","description":"Production API server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Monitor":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["http","tcp","udp","ping"]},"url":{"type":"string"},"frequency":{"type":"integer","description":"Frequency of checks in seconds"},"last_status":{"type":"string","enum":["up","down","unknown"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}},"paths":{"/monitors/{id}":{"get":{"summary":"Retrieve an uptime monitor by ID","tags":["Uptime Monitors"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Monitor details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Monitor"}}}}}}}}}
```

## PUT /monitors/{id}

> Update an uptime monitor

```json
{"openapi":"3.0.3","info":{"title":"Hydrozen.io API","version":"1.0.0"},"servers":[{"url":"https://app.hydrozen.io/api","description":"Production API server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Monitor":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["http","tcp","udp","ping"]},"url":{"type":"string"},"frequency":{"type":"integer","description":"Frequency of checks in seconds"},"last_status":{"type":"string","enum":["up","down","unknown"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}},"paths":{"/monitors/{id}":{"put":{"summary":"Update an uptime monitor","tags":["Uptime Monitors"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Monitor"}}}},"responses":{"200":{"description":"Monitor updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Monitor"}}}}}}}}}
```

## DELETE /monitors/{id}

> Delete an uptime monitor

```json
{"openapi":"3.0.3","info":{"title":"Hydrozen.io API","version":"1.0.0"},"servers":[{"url":"https://app.hydrozen.io/api","description":"Production API server"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/monitors/{id}":{"delete":{"summary":"Delete an uptime monitor","tags":["Uptime Monitors"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Monitor deleted successfully"}}}}}}
```
