Skip to content
Start here

Get details and aggregate metrics for an http test

client.zeroTrust.dex.httpTests.get(stringtestID, HTTPTestGetParams { account_id, from, interval, 3 more } params, RequestOptionsoptions?): HTTPDetails { host, httpStats, httpStatsByColo, 6 more }
GET/accounts/{account_id}/dex/http-tests/{test_id}

Get test details and aggregate performance metrics for an http test for a given time period between 1 hour and 7 days.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Cloudflare DEX WriteCloudflare DEX ReadZero Trust ReportZero Trust Read
ParametersExpand Collapse
testID: string

API Resource UUID tag.

maxLength36
params: HTTPTestGetParams { account_id, from, interval, 3 more }
account_id: string

Path param: Unique identifier linked to an account.

maxLength32
from: string

Query param: Start time for aggregate metrics in ISO ms.

interval: "minute" | "hour"

Query param: Time interval for aggregate time slots.

One of the following:
"minute"
"hour"
to: string

Query param: End time for aggregate metrics in ISO ms.

colo?: string

Query param: Optionally filter result stats to a Cloudflare colo. Cannot be used in combination with deviceId param.

deviceId?: Array<string>

Query param: Optionally filter result stats to a specific device(s). Cannot be used in combination with colo param.

ReturnsExpand Collapse
HTTPDetails { host, httpStats, httpStatsByColo, 6 more }
host?: string

The url of the HTTP synthetic application test.

httpStats?: HTTPStats | null
availabilityPct: AvailabilityPct { slots, avg, max, min }
slots: Array<Slot>
timestamp: string
value: number
formatfloat
avg?: number | null

average observed in the time period.

formatfloat
max?: number | null

highest observed in the time period.

formatfloat
min?: number | null

lowest observed in the time period.

formatfloat
dnsResponseTimeMs: TestStatOverTime { slots, avg, max, min }
slots: Array<Slot>
timestamp: string
value: number
avg?: number | null

average observed in the time period.

max?: number | null

highest observed in the time period.

min?: number | null

lowest observed in the time period.

httpStatusCode: Array<HTTPStatusCode>
status200: number
status300: number
status400: number
status500: number
timestamp: string
resourceFetchTimeMs: TestStatOverTime { slots, avg, max, min }
slots: Array<Slot>
timestamp: string
value: number
avg?: number | null

average observed in the time period.

max?: number | null

highest observed in the time period.

min?: number | null

lowest observed in the time period.

serverResponseTimeMs: TestStatOverTime { slots, avg, max, min }
slots: Array<Slot>
timestamp: string
value: number
avg?: number | null

average observed in the time period.

max?: number | null

highest observed in the time period.

min?: number | null

lowest observed in the time period.

uniqueDevicesTotal: number

Count of unique devices that have run this test in the given time period.

httpStatsByColo?: Array<HTTPStatsByColo>
availabilityPct: AvailabilityPct { slots, avg, max, min }
slots: Array<Slot>
timestamp: string
value: number
formatfloat
avg?: number | null

average observed in the time period.

formatfloat
max?: number | null

highest observed in the time period.

formatfloat
min?: number | null

lowest observed in the time period.

formatfloat
colo: string
dnsResponseTimeMs: TestStatOverTime { slots, avg, max, min }
slots: Array<Slot>
timestamp: string
value: number
avg?: number | null

average observed in the time period.

max?: number | null

highest observed in the time period.

min?: number | null

lowest observed in the time period.

httpStatusCode: Array<HTTPStatusCode>
status200: number
status300: number
status400: number
status500: number
timestamp: string
resourceFetchTimeMs: TestStatOverTime { slots, avg, max, min }
slots: Array<Slot>
timestamp: string
value: number
avg?: number | null

average observed in the time period.

max?: number | null

highest observed in the time period.

min?: number | null

lowest observed in the time period.

serverResponseTimeMs: TestStatOverTime { slots, avg, max, min }
slots: Array<Slot>
timestamp: string
value: number
avg?: number | null

average observed in the time period.

max?: number | null

highest observed in the time period.

min?: number | null

lowest observed in the time period.

uniqueDevicesTotal: number

Count of unique devices that have run this test in the given time period.

interval?: string

The interval at which the HTTP synthetic application test is set to run.

kind?: "http"
method?: string

The HTTP method to use when running the test.

name?: string

The name of the HTTP synthetic application test.

target_policies?: Array<DigitalExperienceMonitor { id, default, name } > | null
id: string

API Resource UUID tag.

maxLength36
default: boolean

Whether the policy is the default for the account.

name: string
targeted?: boolean

Get details and aggregate metrics for an http test

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const httpDetails = await client.zeroTrust.dex.httpTests.get(
  'f174e90a-fafe-4643-bbbc-4a0ed4fc8415',
  {
    account_id: '01a7362d577a6c3019a474fd6f485823',
    from: '1689520412000',
    interval: 'minute',
    to: '1689606812000',
  },
);

console.log(httpDetails.host);
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "host": "http://example.com",
    "httpStats": {
      "availabilityPct": {
        "slots": [
          {
            "timestamp": "2023-07-16 15:00:00+00",
            "value": 0
          }
        ],
        "avg": 0,
        "max": 0,
        "min": 0
      },
      "dnsResponseTimeMs": {
        "slots": [
          {
            "timestamp": "2023-07-16 15:00:00+00",
            "value": 0
          }
        ],
        "avg": 0,
        "max": 0,
        "min": 0
      },
      "httpStatusCode": [
        {
          "status200": 0,
          "status300": 0,
          "status400": 0,
          "status500": 0,
          "timestamp": "2023-07-16 15:00:00+00"
        }
      ],
      "resourceFetchTimeMs": {
        "slots": [
          {
            "timestamp": "2023-07-16 15:00:00+00",
            "value": 0
          }
        ],
        "avg": 0,
        "max": 0,
        "min": 0
      },
      "serverResponseTimeMs": {
        "slots": [
          {
            "timestamp": "2023-07-16 15:00:00+00",
            "value": 0
          }
        ],
        "avg": 0,
        "max": 0,
        "min": 0
      },
      "uniqueDevicesTotal": 57
    },
    "httpStatsByColo": [
      {
        "availabilityPct": {
          "slots": [
            {
              "timestamp": "2023-07-16 15:00:00+00",
              "value": 0
            }
          ],
          "avg": 0,
          "max": 0,
          "min": 0
        },
        "colo": "DFW",
        "dnsResponseTimeMs": {
          "slots": [
            {
              "timestamp": "2023-07-16 15:00:00+00",
              "value": 0
            }
          ],
          "avg": 0,
          "max": 0,
          "min": 0
        },
        "httpStatusCode": [
          {
            "status200": 0,
            "status300": 0,
            "status400": 0,
            "status500": 0,
            "timestamp": "2023-07-16 15:00:00+00"
          }
        ],
        "resourceFetchTimeMs": {
          "slots": [
            {
              "timestamp": "2023-07-16 15:00:00+00",
              "value": 0
            }
          ],
          "avg": 0,
          "max": 0,
          "min": 0
        },
        "serverResponseTimeMs": {
          "slots": [
            {
              "timestamp": "2023-07-16 15:00:00+00",
              "value": 0
            }
          ],
          "avg": 0,
          "max": 0,
          "min": 0
        },
        "uniqueDevicesTotal": 57
      }
    ],
    "interval": "0h5m0s",
    "kind": "http",
    "method": "GET",
    "name": "Atlassian Sign In Page",
    "target_policies": [
      {
        "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
        "default": true,
        "name": "name"
      }
    ],
    "targeted": true
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "host": "http://example.com",
    "httpStats": {
      "availabilityPct": {
        "slots": [
          {
            "timestamp": "2023-07-16 15:00:00+00",
            "value": 0
          }
        ],
        "avg": 0,
        "max": 0,
        "min": 0
      },
      "dnsResponseTimeMs": {
        "slots": [
          {
            "timestamp": "2023-07-16 15:00:00+00",
            "value": 0
          }
        ],
        "avg": 0,
        "max": 0,
        "min": 0
      },
      "httpStatusCode": [
        {
          "status200": 0,
          "status300": 0,
          "status400": 0,
          "status500": 0,
          "timestamp": "2023-07-16 15:00:00+00"
        }
      ],
      "resourceFetchTimeMs": {
        "slots": [
          {
            "timestamp": "2023-07-16 15:00:00+00",
            "value": 0
          }
        ],
        "avg": 0,
        "max": 0,
        "min": 0
      },
      "serverResponseTimeMs": {
        "slots": [
          {
            "timestamp": "2023-07-16 15:00:00+00",
            "value": 0
          }
        ],
        "avg": 0,
        "max": 0,
        "min": 0
      },
      "uniqueDevicesTotal": 57
    },
    "httpStatsByColo": [
      {
        "availabilityPct": {
          "slots": [
            {
              "timestamp": "2023-07-16 15:00:00+00",
              "value": 0
            }
          ],
          "avg": 0,
          "max": 0,
          "min": 0
        },
        "colo": "DFW",
        "dnsResponseTimeMs": {
          "slots": [
            {
              "timestamp": "2023-07-16 15:00:00+00",
              "value": 0
            }
          ],
          "avg": 0,
          "max": 0,
          "min": 0
        },
        "httpStatusCode": [
          {
            "status200": 0,
            "status300": 0,
            "status400": 0,
            "status500": 0,
            "timestamp": "2023-07-16 15:00:00+00"
          }
        ],
        "resourceFetchTimeMs": {
          "slots": [
            {
              "timestamp": "2023-07-16 15:00:00+00",
              "value": 0
            }
          ],
          "avg": 0,
          "max": 0,
          "min": 0
        },
        "serverResponseTimeMs": {
          "slots": [
            {
              "timestamp": "2023-07-16 15:00:00+00",
              "value": 0
            }
          ],
          "avg": 0,
          "max": 0,
          "min": 0
        },
        "uniqueDevicesTotal": 57
      }
    ],
    "interval": "0h5m0s",
    "kind": "http",
    "method": "GET",
    "name": "Atlassian Sign In Page",
    "target_policies": [
      {
        "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
        "default": true,
        "name": "name"
      }
    ],
    "targeted": true
  }
}