Skip to main content
POST
/
api
/
v1
/
config
/
monitors
cURL
curl --request POST \
  --url https://{tenant}.chronosphere.io/api/v1/config/monitors \
  --header 'API-Token: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{}'
package main

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

func main() {

url := "https://{tenant}.chronosphere.io/api/v1/config/monitors"

payload := strings.NewReader("{}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("API-Token", "<api-key>")
req.Header.Add("Content-Type", "application/json")

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

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

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://{tenant}.chronosphere.io/api/v1/config/monitors")
.header("API-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();
const options = {
method: 'POST',
headers: {'API-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};

fetch('https://{tenant}.chronosphere.io/api/v1/config/monitors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
import requests

url = "https://{tenant}.chronosphere.io/api/v1/config/monitors"

payload = {}
headers = {
"API-Token": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
{
  "monitor": {
    "name": "<string>",
    "annotations": {},
    "bucket_slug": "<string>",
    "collection": {
      "slug": "<string>"
    },
    "collection_slug": "<string>",
    "created_at": "2023-11-07T05:31:56Z",
    "graphite_query": "sumSeries(stats.timers.*.mean_90)",
    "interval_secs": 123,
    "labels": {},
    "logging_query": "<string>",
    "notification_policy_slug": "<string>",
    "notification_template": "{\"title\": \"[{{.Severity}}] {{.Labels.service}} threshold exceeded\", \"description\": \"{{.Labels.env}} crossed {{.ThresholdOp}} {{.Threshold}}\"}",
    "prometheus_query": "up{job=\"prometheus\"} == 0",
    "schedule": {
      "timezone": "<string>",
      "weekly_schedule": {
        "friday": {
          "ranges": [
            {
              "end_hh_mm": "<string>",
              "start_hh_mm": "<string>"
            }
          ]
        },
        "monday": {
          "ranges": [
            {
              "end_hh_mm": "<string>",
              "start_hh_mm": "<string>"
            }
          ]
        },
        "saturday": {
          "ranges": [
            {
              "end_hh_mm": "<string>",
              "start_hh_mm": "<string>"
            }
          ]
        },
        "sunday": {
          "ranges": [
            {
              "end_hh_mm": "<string>",
              "start_hh_mm": "<string>"
            }
          ]
        },
        "thursday": {
          "ranges": [
            {
              "end_hh_mm": "<string>",
              "start_hh_mm": "<string>"
            }
          ]
        },
        "tuesday": {
          "ranges": [
            {
              "end_hh_mm": "<string>",
              "start_hh_mm": "<string>"
            }
          ]
        },
        "wednesday": {
          "ranges": [
            {
              "end_hh_mm": "<string>",
              "start_hh_mm": "<string>"
            }
          ]
        }
      }
    },
    "series_conditions": {
      "defaults": {
        "critical": {
          "conditions": [
            {
              "resolve_sustain_secs": 123,
              "resolve_value": {
                "enabled": true,
                "value": 123
              },
              "sustain_secs": 123,
              "value": 123
            }
          ]
        },
        "warn": {
          "conditions": [
            {
              "resolve_sustain_secs": 123,
              "resolve_value": {
                "enabled": true,
                "value": 123
              },
              "sustain_secs": 123,
              "value": 123
            }
          ]
        }
      },
      "overrides": [
        {
          "label_matchers": [
            {
              "name": "<string>",
              "value": "<string>"
            }
          ],
          "severity_conditions": {
            "critical": {
              "conditions": [
                {
                  "resolve_sustain_secs": 123,
                  "resolve_value": {
                    "enabled": true,
                    "value": 123
                  },
                  "sustain_secs": 123,
                  "value": 123
                }
              ]
            },
            "warn": {
              "conditions": [
                {
                  "resolve_sustain_secs": 123,
                  "resolve_value": {
                    "enabled": true,
                    "value": 123
                  },
                  "sustain_secs": 123,
                  "value": 123
                }
              ]
            }
          }
        }
      ]
    },
    "signal_grouping": {
      "label_names": [
        "<string>"
      ],
      "signal_per_series": true
    },
    "slug": "<string>",
    "updated_at": "2023-11-07T05:31:56Z"
  }
}
{
"message": "<string>"
}
{
"message": "<string>"
}
{
"message": "<string>"
}
{}

Authorizations

API-Token
string
header
required

Chronosphere API token

Body

application/json
dry_run
boolean

If true, validates the specified configuration without creating the Monitor. If the specified configuration is valid, the endpoint returns a partial response without the Monitor. If the specified configuration is invalid, the endpoint returns an error.

monitor
object

The Monitor to create.

Response

A successful response containing the created Monitor.

monitor
object