Skip to main content
GET
/
api
/
v1
/
monitors
/
{id}
/
results
List raw check results
curl --request GET \
  --url https://api.devhelm.io/api/v1/monitors/{id}/results \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.devhelm.io/api/v1/monitors/{id}/results"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.devhelm.io/api/v1/monitors/{id}/results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.devhelm.io/api/v1/monitors/{id}/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.devhelm.io/api/v1/monitors/{id}/results"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.devhelm.io/api/v1/monitors/{id}/results")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.devhelm.io/api/v1/monitors/{id}/results")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "data": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "timestamp": "2023-11-07T05:31:56Z",
      "region": "us-east",
      "passed": true,
      "responseTimeMs": 123,
      "failureReason": "<string>",
      "severityHint": "<string>",
      "details": {
        "statusCode": 200,
        "responseHeaders": {},
        "responseBodySnapshot": "<string>",
        "assertionResults": [
          {
            "type": "status_code",
            "passed": true,
            "message": "<string>",
            "expected": "200",
            "actual": "503"
          }
        ],
        "tlsInfo": {
          "subjectCn": "*.example.com",
          "subjectSan": [
            "<string>"
          ],
          "issuerCn": "R3",
          "issuerOrg": "Let's Encrypt",
          "notBefore": "<string>",
          "notAfter": "<string>",
          "serialNumber": "<string>",
          "tlsVersion": "TLSv1.3",
          "cipherSuite": "<string>",
          "chainValid": true
        },
        "redirectCount": 2,
        "redirectTarget": "<string>",
        "responseSizeBytes": 4096,
        "checkDetails": {
          "check_type": "http",
          "timing": {
            "dns_ms": 12,
            "tcp_ms": 18,
            "tls_ms": 34,
            "ttfb_ms": 42,
            "download_ms": 8,
            "total_ms": 114
          },
          "bodyTruncated": true
        }
      },
      "checkId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ],
  "hasMore": true,
  "nextCursor": "<string>"
}
{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timestamp": "2023-11-07T05:31:56Z",
"region": "us-east",
"passed": true,
"responseTimeMs": 123,
"failureReason": "<string>",
"severityHint": "<string>",
"details": {
"statusCode": 200,
"responseHeaders": {},
"responseBodySnapshot": "<string>",
"assertionResults": [
{
"type": "status_code",
"passed": true,
"message": "<string>",
"expected": "200",
"actual": "503"
}
],
"tlsInfo": {
"subjectCn": "*.example.com",
"subjectSan": [
"<string>"
],
"issuerCn": "R3",
"issuerOrg": "Let's Encrypt",
"notBefore": "<string>",
"notAfter": "<string>",
"serialNumber": "<string>",
"tlsVersion": "TLSv1.3",
"cipherSuite": "<string>",
"chainValid": true
},
"redirectCount": 2,
"redirectTarget": "<string>",
"responseSizeBytes": 4096,
"checkDetails": {
"check_type": "http",
"timing": {
"dns_ms": 12,
"tcp_ms": 18,
"tls_ms": 34,
"ttfb_ms": 42,
"download_ms": 8,
"total_ms": 114
},
"bodyTruncated": true
}
},
"checkId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"hasMore": true,
"nextCursor": "<string>"
}
{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}
{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timestamp": "2023-11-07T05:31:56Z",
"region": "us-east",
"passed": true,
"responseTimeMs": 123,
"failureReason": "<string>",
"severityHint": "<string>",
"details": {
"statusCode": 200,
"responseHeaders": {},
"responseBodySnapshot": "<string>",
"assertionResults": [
{
"type": "status_code",
"passed": true,
"message": "<string>",
"expected": "200",
"actual": "503"
}
],
"tlsInfo": {
"subjectCn": "*.example.com",
"subjectSan": [
"<string>"
],
"issuerCn": "R3",
"issuerOrg": "Let's Encrypt",
"notBefore": "<string>",
"notAfter": "<string>",
"serialNumber": "<string>",
"tlsVersion": "TLSv1.3",
"cipherSuite": "<string>",
"chainValid": true
},
"redirectCount": 2,
"redirectTarget": "<string>",
"responseSizeBytes": 4096,
"checkDetails": {
"check_type": "http",
"timing": {
"dns_ms": 12,
"tcp_ms": 18,
"tls_ms": 34,
"ttfb_ms": 42,
"download_ms": 8,
"total_ms": 114
},
"bodyTruncated": true
}
},
"checkId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"hasMore": true,
"nextCursor": "<string>"
}
{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timestamp": "2023-11-07T05:31:56Z",
"region": "us-east",
"passed": true,
"responseTimeMs": 123,
"failureReason": "<string>",
"severityHint": "<string>",
"details": {
"statusCode": 200,
"responseHeaders": {},
"responseBodySnapshot": "<string>",
"assertionResults": [
{
"type": "status_code",
"passed": true,
"message": "<string>",
"expected": "200",
"actual": "503"
}
],
"tlsInfo": {
"subjectCn": "*.example.com",
"subjectSan": [
"<string>"
],
"issuerCn": "R3",
"issuerOrg": "Let's Encrypt",
"notBefore": "<string>",
"notAfter": "<string>",
"serialNumber": "<string>",
"tlsVersion": "TLSv1.3",
"cipherSuite": "<string>",
"chainValid": true
},
"redirectCount": 2,
"redirectTarget": "<string>",
"responseSizeBytes": 4096,
"checkDetails": {
"check_type": "http",
"timing": {
"dns_ms": 12,
"tcp_ms": 18,
"tls_ms": 34,
"ttfb_ms": 42,
"download_ms": 8,
"total_ms": 114
},
"bodyTruncated": true
}
},
"checkId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"hasMore": true,
"nextCursor": "<string>"
}
{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}
{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}
{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}
{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}

Authorizations

Authorization
string
header
required

API key (dh_live_...) or Auth0 JWT token

Path Parameters

id
string<uuid>
required

Query Parameters

from
string<date-time>

Start of time range (ISO 8601, inclusive); defaults to 24 hours ago

to
string<date-time>

End of time range (ISO 8601, inclusive); defaults to now

cursor
string

Opaque cursor from a previous response for pagination

limit
integer<int32>
default:50

Maximum results per page (1–200)

region
string

Filter by region (e.g. us-east)

passed
boolean

Filter by pass/fail status

Response

Paginated check results

Cursor-paginated response for time-series and append-only data

data
object[]
required

Items on this page

hasMore
boolean
required

Whether more results exist beyond this page

nextCursor
string | null

Opaque cursor for the next page; null when there are no more results