Monitors

post

List Monitors

Authorizations
Body
limitinteger · int64Optional

Maximum number of monitors to return.

Default: 1000
Responses
200
MonitorListResponseWrapper defines the response structure for listing monitors.
post
POST /api/monitors/list HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 199

{
  "conditions": [
    {
      "additionalFilter": "text",
      "autoComplete": true,
      "filterKeys": [
        "text"
      ],
      "filters": [
        {
          "op": "text",
          "value": null
        }
      ],
      "isNullable": true,
      "key": "text",
      "origin": "text",
      "type": "text"
    }
  ],
  "limit": 1000
}

No content

get

Get Monitor Definition (YAML)

Authorizations
Path parameters
idstringRequired

UUID of the monitor to retrieve

Responses
200
MonitorYamlResponse defines the response structure for getting a monitor's YAML.
get
GET /api/monitors/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

post

Create Monitor

Authorizations
Body
all ofOptional
Responses
200
CreateMonitorResponseWrapper defines the response structure for creating a monitor.
post
POST /api/monitors HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2480

{
  "annotations": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "autoResolve": true,
  "catalog": {
    "category": "text",
    "id": "text",
    "tags": [
      "text"
    ],
    "version": 1
  },
  "category": "text",
  "display": {
    "contextHeaderLabels": [
      "text"
    ],
    "description": "text",
    "header": "text",
    "resourceHeaderLabels": [
      "text"
    ]
  },
  "evaluationInterval": {
    "interval": "text",
    "pendingFor": "text"
  },
  "executionErrorState": "OK",
  "isPaused": true,
  "labels": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "measurementType": "state",
  "model": {
    "queries": [
      {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "dataType": "text",
        "datasourceID": "text",
        "datasourceType": "text",
        "expression": "text",
        "filters": "text",
        "instantRollup": "text",
        "name": "text",
        "pipeline": {
          "conditions": [
            {
              "additionalFilter": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "filters": [
                {
                  "op": "text",
                  "value": null
                }
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "type": "text"
            }
          ],
          "function": "[Circular Reference]",
          "metric": "text",
          "template": "text"
        },
        "queryType": "text",
        "relativeTimerange": {
          "from": "text",
          "to": "text"
        },
        "rollup": {
          "function": "text",
          "time": 1
        },
        "sqlPipeline": {
          "except": [
            {
              "additionalFilter": "text",
              "alias": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "processors": [
                {
                  "args": [
                    "text"
                  ],
                  "op": "text"
                }
              ],
              "type": "text"
            }
          ],
          "filters": "[Circular Reference]",
          "from": "[Circular Reference]",
          "groupBy": [
            {
              "additionalFilter": "text",
              "alias": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "processors": [
                {
                  "args": [
                    "text"
                  ],
                  "op": "text"
                }
              ],
              "type": "text"
            }
          ],
          "having": "[Circular Reference]",
          "limit": 1,
          "offset": 1,
          "orderBy": [
            {
              "direction": "text",
              "selector": {
                "additionalFilter": "text",
                "alias": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "processors": [
                  {
                    "args": [
                      "text"
                    ],
                    "op": "text"
                  }
                ],
                "type": "text"
              }
            }
          ],
          "selectors": [
            {
              "additionalFilter": "text",
              "alias": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "processors": [
                {
                  "args": [
                    "text"
                  ],
                  "op": "text"
                }
              ],
              "type": "text"
            }
          ]
        }
      }
    ],
    "reducers": [
      {
        "expression": "text",
        "inputName": "text",
        "name": "text",
        "relativeTimerange": {
          "from": "text",
          "to": "text"
        },
        "type": "text"
      }
    ],
    "thresholds": [
      {
        "inputName": "text",
        "name": "text",
        "operator": "gt",
        "relativeTimerange": {
          "from": "text",
          "to": "text"
        },
        "values": [
          1
        ]
      }
    ]
  },
  "noDataState": "OK",
  "routing": [
    "text"
  ],
  "severity": "text",
  "team": "text",
  "title": "text"
}

No content

put

Update Monitor

Authorizations
Path parameters
idstringRequired

UUID of the monitor to update

Body
all ofOptional
Responses
202
NoContentResponse indicates success but that no response body is expected or included.
put
PUT /api/monitors/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2480

{
  "annotations": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "autoResolve": true,
  "catalog": {
    "category": "text",
    "id": "text",
    "tags": [
      "text"
    ],
    "version": 1
  },
  "category": "text",
  "display": {
    "contextHeaderLabels": [
      "text"
    ],
    "description": "text",
    "header": "text",
    "resourceHeaderLabels": [
      "text"
    ]
  },
  "evaluationInterval": {
    "interval": "text",
    "pendingFor": "text"
  },
  "executionErrorState": "OK",
  "isPaused": true,
  "labels": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "measurementType": "state",
  "model": {
    "queries": [
      {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "dataType": "text",
        "datasourceID": "text",
        "datasourceType": "text",
        "expression": "text",
        "filters": "text",
        "instantRollup": "text",
        "name": "text",
        "pipeline": {
          "conditions": [
            {
              "additionalFilter": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "filters": [
                {
                  "op": "text",
                  "value": null
                }
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "type": "text"
            }
          ],
          "function": "[Circular Reference]",
          "metric": "text",
          "template": "text"
        },
        "queryType": "text",
        "relativeTimerange": {
          "from": "text",
          "to": "text"
        },
        "rollup": {
          "function": "text",
          "time": 1
        },
        "sqlPipeline": {
          "except": [
            {
              "additionalFilter": "text",
              "alias": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "processors": [
                {
                  "args": [
                    "text"
                  ],
                  "op": "text"
                }
              ],
              "type": "text"
            }
          ],
          "filters": "[Circular Reference]",
          "from": "[Circular Reference]",
          "groupBy": [
            {
              "additionalFilter": "text",
              "alias": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "processors": [
                {
                  "args": [
                    "text"
                  ],
                  "op": "text"
                }
              ],
              "type": "text"
            }
          ],
          "having": "[Circular Reference]",
          "limit": 1,
          "offset": 1,
          "orderBy": [
            {
              "direction": "text",
              "selector": {
                "additionalFilter": "text",
                "alias": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "processors": [
                  {
                    "args": [
                      "text"
                    ],
                    "op": "text"
                  }
                ],
                "type": "text"
              }
            }
          ],
          "selectors": [
            {
              "additionalFilter": "text",
              "alias": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "processors": [
                {
                  "args": [
                    "text"
                  ],
                  "op": "text"
                }
              ],
              "type": "text"
            }
          ]
        }
      }
    ],
    "reducers": [
      {
        "expression": "text",
        "inputName": "text",
        "name": "text",
        "relativeTimerange": {
          "from": "text",
          "to": "text"
        },
        "type": "text"
      }
    ],
    "thresholds": [
      {
        "inputName": "text",
        "name": "text",
        "operator": "gt",
        "relativeTimerange": {
          "from": "text",
          "to": "text"
        },
        "values": [
          1
        ]
      }
    ]
  },
  "noDataState": "OK",
  "routing": [
    "text"
  ],
  "severity": "text",
  "team": "text",
  "title": "text"
}

No content

delete

Delete Monitor

Authorizations
Path parameters
idstringRequired

UUID of the monitor to delete

Responses
200
NoContentResponse indicates success but that no response body is expected or included.
delete
DELETE /api/monitors/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

Get All Silences

get

Retrieves all silences with optional filtering.

Authorizations
Query parameters
activebooleanOptional

Filter to show only active silences

limitinteger · int64Optional

Maximum number of silences to return

skipinteger · int64Optional

Number of silences to skip

Responses
200Success
get
GET /api/monitors/silences HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

Create Silence

post

Creates a new silence for monitoring alerts.

Authorizations
Body
BackendIDstringOptional
ClientIDstringOptional
commentstringOptional

Optional comment for the silence

endsAtstring · date-timeRequired

End time for the silence (must be after StartsAt)

startsAtstring · date-timeRequired

Start time for the silence

Responses
200Success
post
POST /api/monitors/silences HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 182

{
  "BackendID": "text",
  "ClientID": "text",
  "comment": "text",
  "endsAt": "2025-07-20T16:50:21.246Z",
  "matchers": [
    {
      "Name": "text",
      "Type": 1,
      "Value": "text"
    }
  ],
  "startsAt": "2025-07-20T16:50:21.246Z"
}

No content

Get Silence by ID

get

Retrieves a specific silence by its UUID.

Authorizations
Path parameters
idstringRequired

UUID of the silence to retrieve

Responses
200Success
get
GET /api/monitors/silences/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

Update Silence

put

Updates an existing silence by its UUID.

Authorizations
Path parameters
idstringRequired

UUID of the silence to update

Body
BackendIDstringOptional
ClientIDstringOptional
commentstringOptional

Optional comment for the silence

endsAtstring · date-timeOptional

End time for the silence (must be after StartsAt)

startsAtstring · date-timeOptional

Start time for the silence

Responses
200Success
put
PUT /api/monitors/silences/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 182

{
  "BackendID": "text",
  "ClientID": "text",
  "comment": "text",
  "endsAt": "2025-07-20T16:50:21.246Z",
  "matchers": [
    {
      "Name": "text",
      "Type": 1,
      "Value": "text"
    }
  ],
  "startsAt": "2025-07-20T16:50:21.246Z"
}

No content

Delete Silence

delete

Deletes a silence by its UUID.

Authorizations
Path parameters
idstringRequired

UUID of the silence to delete

Responses
200
NoContentResponse indicates success but that no response body is expected or included.
delete
DELETE /api/monitors/silences/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

Execute Prometheus query.

post

Executes a Prometheus query (instant or range) against the metrics server. Accepts either a direct 'promql' string or components ('pipeline', 'filters', 'conditions', 'subPipelines') to build the query.

Authorizations
Body
Endstring · date-timeOptional
FiltersstringOptional
PromqlstringOptional
QueryTypestring · enumOptionalPossible values:
Startstring · date-timeOptional
StepstringOptional
Responses
200Success
post
POST /api/metrics/query HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 1529

{
  "Conditions": [
    {
      "additionalFilter": "text",
      "autoComplete": true,
      "filterKeys": [
        "text"
      ],
      "filters": [
        {
          "op": "text",
          "value": null
        }
      ],
      "isNullable": true,
      "key": "text",
      "origin": "text",
      "type": "text"
    }
  ],
  "End": "2025-07-20T16:50:21.246Z",
  "Filters": "text",
  "Pipeline": {
    "conditions": [
      {
        "additionalFilter": "text",
        "autoComplete": true,
        "filterKeys": [
          "text"
        ],
        "filters": [
          {
            "op": "text",
            "value": null
          }
        ],
        "isNullable": true,
        "key": "text",
        "origin": "text",
        "type": "text"
      }
    ],
    "function": {
      "args": [
        "text"
      ],
      "name": "text",
      "pipelines": [
        {
          "conditions": [
            {
              "additionalFilter": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "filters": [
                {
                  "op": "text",
                  "value": null
                }
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "type": "text"
            }
          ],
          "function": {
            "args": [
              "text"
            ],
            "name": "text",
            "pipelines": "[Circular Reference]"
          },
          "metric": "text",
          "template": "text"
        }
      ]
    },
    "metric": "text",
    "template": "text"
  },
  "Promql": "text",
  "QueryType": "range",
  "Start": "2025-07-20T16:50:21.246Z",
  "Step": "text",
  "SubPipelines": {
    "ANY_ADDITIONAL_PROPERTY": {
      "conditions": [
        {
          "additionalFilter": "text",
          "autoComplete": true,
          "filterKeys": [
            "text"
          ],
          "filters": [
            {
              "op": "text",
              "value": null
            }
          ],
          "isNullable": true,
          "key": "text",
          "origin": "text",
          "type": "text"
        }
      ],
      "function": {
        "args": [
          "text"
        ],
        "name": "text",
        "pipelines": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "function": {
              "args": [
                "text"
              ],
              "name": "text",
              "pipelines": "[Circular Reference]"
            },
            "metric": "text",
            "template": "text"
          }
        ]
      },
      "metric": "text",
      "template": "text"
    }
  }
}

No content

Last updated