---
title: "Run a single check"
method: POST
path: "/check/http"
tags: ["check"]
---

# Run a single check

`POST /check/http`

## Request body

- object — The check request
  - `url` string, required — The url to monitor
  - `body` string, nullable — The body
  - `headers` object[], nullable — The headers of your request
    - `key` string, required
    - `value` string, required
  - `method` 'GET' | 'POST' | 'HEAD' | 'PUT' | 'PATCH' | 'DELETE' | 'TRACE' | 'CONNECT' | 'OPTIONS', required
  - `regions` string[], nullable — Where we should monitor it
  - `runCount` number — The number of times to run the check
  - `aggregated` boolean — Whether to aggregate the results or not

## Response `200`

Return a run result

- object
  - `id` integer, required — The id of the check
  - `raw` object[], required — The raw data of the check
    - `dnsStart` number, required — DNS timestamp start time in UTC
    - `dnsDone` number, required — DNS timestamp end time in UTC
    - `connectStart` number, required — Connect timestamp start time in UTC
    - `connectDone` number, required — Connect timestamp end time in UTC
    - `tlsHandshakeStart` number, required — TLS handshake timestamp start time in UTC
    - `tlsHandshakeDone` number, required — TLS handshake timestamp end time in UTC
    - `firstByteStart` number, required — First byte timestamp start time in UTC
    - `firstByteDone` number, required — First byte timestamp end time in UTC
    - `transferStart` number, required — Transfer timestamp start time in UTC
    - `transferDone` number, required — Transfer timestamp end time in UTC
  - `response` object, required — The last response of the check
    - `timestamp` number, required — The timestamp of the response in UTC
    - `status` number, required — The status code of the response
    - `latency` number, required — The latency of the response
    - `body` string — The body of the response
    - `headers` object — The headers of the response
    - `timing` object, required — The timing metrics of the response
      - `dnsStart` number, required — DNS timestamp start time in UTC
      - `dnsDone` number, required — DNS timestamp end time in UTC
      - `connectStart` number, required — Connect timestamp start time in UTC
      - `connectDone` number, required — Connect timestamp end time in UTC
      - `tlsHandshakeStart` number, required — TLS handshake timestamp start time in UTC
      - `tlsHandshakeDone` number, required — TLS handshake timestamp end time in UTC
      - `firstByteStart` number, required — First byte timestamp start time in UTC
      - `firstByteDone` number, required — First byte timestamp end time in UTC
      - `transferStart` number, required — Transfer timestamp start time in UTC
      - `transferDone` number, required — Transfer timestamp end time in UTC
    - `aggregated` object — The aggregated data dns timing of the check
      - `dns` object, required — The aggregated DNS timing of the check
        - `p50` number, required — The 50th percentile
        - `p75` number, required — The 75th percentile
        - `p95` number, required — The 95th percentile
        - `p99` number, required — The 99th percentile
        - `min` number, required — The minimum value
        - `max` number, required — The maximum value
      - `connection` object, required — The aggregated connection timing of the check
        - `p50` number, required — The 50th percentile
        - `p75` number, required — The 75th percentile
        - `p95` number, required — The 95th percentile
        - `p99` number, required — The 99th percentile
        - `min` number, required — The minimum value
        - `max` number, required — The maximum value
      - `tls` object, required — The aggregated tls timing of the check
        - `p50` number, required — The 50th percentile
        - `p75` number, required — The 75th percentile
        - `p95` number, required — The 95th percentile
        - `p99` number, required — The 99th percentile
        - `min` number, required — The minimum value
        - `max` number, required — The maximum value
      - `firstByte` object, required — The aggregated first byte timing of the check
        - `p50` number, required — The 50th percentile
        - `p75` number, required — The 75th percentile
        - `p95` number, required — The 95th percentile
        - `p99` number, required — The 99th percentile
        - `min` number, required — The minimum value
        - `max` number, required — The maximum value
      - `transfer` object, required — The aggregated transfer timing of the check
        - `p50` number, required — The 50th percentile
        - `p75` number, required — The 75th percentile
        - `p95` number, required — The 95th percentile
        - `p99` number, required — The 99th percentile
        - `min` number, required — The minimum value
        - `max` number, required — The maximum value
      - `latency` object, required — The aggregated latency timing of the check
        - `p50` number, required — The 50th percentile
        - `p75` number, required — The 75th percentile
        - `p95` number, required — The 95th percentile
        - `p99` number, required — The 99th percentile
        - `min` number, required — The minimum value
        - `max` number, required — The maximum value
    - `region` string, required — The region where the check ran
  - `aggregated` object — The aggregated data of the check
    - `dns` object, required — The aggregated data of the check
      - `p50` number, required — The 50th percentile
      - `p75` number, required — The 75th percentile
      - `p95` number, required — The 95th percentile
      - `p99` number, required — The 99th percentile
      - `min` number, required — The minimum value
      - `max` number, required — The maximum value
    - `connect` object, required — The aggregated data of the check
      - `p50` number, required — The 50th percentile
      - `p75` number, required — The 75th percentile
      - `p95` number, required — The 95th percentile
      - `p99` number, required — The 99th percentile
      - `min` number, required — The minimum value
      - `max` number, required — The maximum value
    - `tls` object, required — The aggregated data of the check
      - `p50` number, required — The 50th percentile
      - `p75` number, required — The 75th percentile
      - `p95` number, required — The 95th percentile
      - `p99` number, required — The 99th percentile
      - `min` number, required — The minimum value
      - `max` number, required — The maximum value
    - `firstByte` object, required — The aggregated data of the check
      - `p50` number, required — The 50th percentile
      - `p75` number, required — The 75th percentile
      - `p95` number, required — The 95th percentile
      - `p99` number, required — The 99th percentile
      - `min` number, required — The minimum value
      - `max` number, required — The maximum value
    - `transfer` object, required — The aggregated data of the check
      - `p50` number, required — The 50th percentile
      - `p75` number, required — The 75th percentile
      - `p95` number, required — The 95th percentile
      - `p99` number, required — The 99th percentile
      - `min` number, required — The minimum value
      - `max` number, required — The maximum value
    - `latency` object, required — The aggregated data of the check
      - `p50` number, required — The 50th percentile
      - `p75` number, required — The 75th percentile
      - `p95` number, required — The 95th percentile
      - `p99` number, required — The 99th percentile
      - `min` number, required — The minimum value
      - `max` number, required — The maximum value

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
- `401` — The client must authenticate itself to get the requested response.
- `402` — A higher pricing plan is required to access the resource.
- `403` — The client does not have the necessary permissions to access the resource.
- `404` — The server can't find the requested resource.
- `409` — The request could not be completed due to a conflict mainly due to unique constraints.
- `500` — The server has encountered a situation it doesn't know how to handle.

---

[API](https://skmtc.net/openstatus/apis/openstatus-api.md) · [All operations](https://skmtc.net/openstatus/apis/openstatus-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openstatus/openstatus-api/revisions/f075fbb509f7/schema)
