Uptime
The uptime endpoints let you query historical uptime percentages and downtime periods for any monitor with the uptime check enabled.
You'll need a monitor ID for these endpoints.
Example request:
$ OHDEAR_TOKEN="your API token" $ curl "https://ohdear.app/api/monitors/1/uptime?filter[started_at]=20180101000000&filter[ended_at]=20180101235959&split=hour" \ -H "Authorization: Bearer $OHDEAR_TOKEN" \ -H 'Accept: application/json' \ -H 'Content-Type: application/json'
All endpoints below follow the same authentication pattern.
Get uptime percentages #
GET /api/monitors/{monitorId}/uptime
Returns uptime percentages for a monitor over a given period, split into intervals.
Query parameters:
filter[started_at](string, required) -- start of the period inYmdHisformat, in UTC (e.g.,20180101000000)filter[ended_at](string, required) -- end of the period inYmdHisformat, in UTCsplit(string, required) -- how to group the results. Possible values:hour,day,month
All timestamps in the response are in UTC. Here's what the response looks like:
[ {"datetime": "2018-01-01 00:00:00", "uptime_percentage": 100}, {"datetime": "2018-01-01 01:00:00", "uptime_percentage": 99.76}, {"datetime": "2018-01-01 02:00:00", "uptime_percentage": 100}, {"datetime": "2018-01-01 03:00:00", "uptime_percentage": 98.34}, "..." ]
Get downtime periods #
GET /api/monitors/{monitorId}/downtime
Returns a list of downtime periods for a monitor.
Query parameters:
filter[started_at](string, required) -- start of the period inYmdHisformat, in UTCfilter[ended_at](string, required) -- end of the period inYmdHisformat, in UTC
All timestamps in the response are in UTC. Here's what the response looks like:
{ "data": [ { "id": 1, "started_at": "2018-01-01 15:00:00", "ended_at": "2018-01-01 15:07:00", "notes_html": "We contacted our provider and they fixed the issue.", "notes_markdown": "We contacted our provider and they fixed the issue." } ] }
Delete a downtime period #
DELETE /api/downtime/{downtimeId}
Deletes a specific downtime period. You can find the downtime id from the downtime endpoint above.
Returns 204 No Content on success.
Feel free to reach out via [email protected] or on X via @OhDearApp if you have any other questions. We'd love to help!