---
title: "Create a monitor run"
method: POST
path: "/monitor/{id}/run"
tags: ["monitor"]
---

# Create a monitor run

`POST /monitor/{id}/run`

Run a synthetic check for a specific monitor. It will take all configs into account.

## Path parameters

- `id` string, required — The id of the monitor

## Query parameters

- `no-wait` boolean, nullable — Don't wait for the result

## Response `200`

All the historical metrics

- union[]
  - union
    - object
      - `jobType` 'http', required
      - `status` number, required
      - `latency` number, required
      - `region` 'ams' | 'arn' | 'atl' | 'bog' | 'bom' | 'bos' | 'cdg' | 'den' | 'dfw' | 'ewr' | 'eze' | 'fra' | 'gdl' | 'gig' | 'gru' | 'hkg' | 'iad' | 'jnb' | 'lax' | 'lhr' | 'mad' | 'mia' | 'nrt' | 'ord' | 'otp' | 'phx' | 'qro' | 'scl' | 'sjc' | 'sea' | 'sin' | 'syd' | 'waw' | 'yul' | 'yyz' | 'koyeb_fra' | 'koyeb_was' | 'koyeb_sin' | 'koyeb_tyo' | 'koyeb_par' | 'koyeb_sfo' | 'railway_europe-west4-drams3a' | 'railway_us-east4-eqdc4a' | 'railway_asia-southeast1-eqsg3a' | 'railway_us-west2', required
      - `timestamp` number, required
      - `timing` object, required
        - `dnsStart` number, required
        - `dnsDone` number, required
        - `connectStart` number, required
        - `connectDone` number, required
        - `tlsHandshakeStart` number, required
        - `tlsHandshakeDone` number, required
        - `firstByteStart` number, required
        - `firstByteDone` number, required
        - `transferStart` number, required
        - `transferDone` number, required
      - `body` string, nullable
      - `error` string, nullable
    - object
      - `jobType` 'tcp', required
      - `latency` number, required
      - `region` 'ams' | 'arn' | 'atl' | 'bog' | 'bom' | 'bos' | 'cdg' | 'den' | 'dfw' | 'ewr' | 'eze' | 'fra' | 'gdl' | 'gig' | 'gru' | 'hkg' | 'iad' | 'jnb' | 'lax' | 'lhr' | 'mad' | 'mia' | 'nrt' | 'ord' | 'otp' | 'phx' | 'qro' | 'scl' | 'sjc' | 'sea' | 'sin' | 'syd' | 'waw' | 'yul' | 'yyz' | 'koyeb_fra' | 'koyeb_was' | 'koyeb_sin' | 'koyeb_tyo' | 'koyeb_par' | 'koyeb_sfo' | 'railway_europe-west4-drams3a' | 'railway_us-east4-eqdc4a' | 'railway_asia-southeast1-eqsg3a' | 'railway_us-west2', required
      - `timestamp` number, required
      - `timing` object, required
        - `tcpStart` number, required
        - `tcpDone` number, required
      - `error` number, nullable
      - `errorMessage` string, nullable

## 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)
