# Models

## The Monitor object

```json
{"openapi":"3.0.3","info":{"title":"Hydrozen.io API","version":"1.0.0"},"components":{"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"}}}}}}
```

## The HeartbeatMonitor object

```json
{"openapi":"3.0.3","info":{"title":"Hydrozen.io API","version":"1.0.0"},"components":{"schemas":{"HeartbeatMonitor":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"expected_interval":{"type":"integer"},"last_ping":{"type":"string","format":"date-time"}}}}}}
```

## The DomainMonitor object

```json
{"openapi":"3.0.3","info":{"title":"Hydrozen.io API","version":"1.0.0"},"components":{"schemas":{"DomainMonitor":{"type":"object","properties":{"id":{"type":"string"},"domain":{"type":"string"},"expires_on":{"type":"string","format":"date"},"days_until_expiry":{"type":"integer"},"registrar":{"type":"string"}}}}}}
```

## The NotificationHandler object

```json
{"openapi":"3.0.3","info":{"title":"Hydrozen.io API","version":"1.0.0"},"components":{"schemas":{"NotificationHandler":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["email","slack","webhook","telegram"]},"destination":{"type":"string"}}}}}}
```
