Monitors

post

List Monitors

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Body
limitinteger · int64Optional

Maximum number of monitors to return.

Default: 1000
Responses
200

MonitorListResponseWrapper defines the response structure for listing monitors.

No content

post
/api/monitors/list
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)

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

UUID of the monitor to retrieve

Responses
200

MonitorYamlResponse defines the response structure for getting a monitor's YAML.

No content

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

No content

post

Create Monitor

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Body
all ofOptional
Responses
200

CreateMonitorResponseWrapper defines the response structure for creating a monitor.

No content

post
/api/monitors
POST /api/monitors HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2550

{
  "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]",
          "join": "[Circular Reference]",
          "limit": 1,
          "mathExpression": "[Circular Reference]",
          "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

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

UUID of the monitor to update

Body
all ofOptional
Responses
put
/api/monitors/{id}
PUT /api/monitors/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2550

{
  "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]",
          "join": "[Circular Reference]",
          "limit": 1,
          "mathExpression": "[Circular Reference]",
          "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

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

UUID of the monitor to delete

Responses
200Success

No content

delete
/api/monitors/{id}
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.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
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

No content

get
/api/monitors/silences
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.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
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

No content

post
/api/monitors/silences
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-11-28T03:21:12.036Z",
  "matchers": [
    {
      "Name": "text",
      "Type": 1,
      "Value": "text"
    }
  ],
  "startsAt": "2025-11-28T03:21:12.036Z"
}

No content

Get Silence by ID

get

Retrieves a specific silence by its UUID.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

UUID of the silence to retrieve

Responses
200Success

No content

get
/api/monitors/silences/{id}
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.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
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

No content

put
/api/monitors/silences/{id}
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-11-28T03:21:12.036Z",
  "matchers": [
    {
      "Name": "text",
      "Type": 1,
      "Value": "text"
    }
  ],
  "startsAt": "2025-11-28T03:21:12.036Z"
}

No content

Delete Silence

delete

Deletes a silence by its UUID.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

UUID of the silence to delete

Responses
200Success

No content

delete
/api/monitors/silences/{id}
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.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired
Body
Endstring · date-timeOptional
FiltersstringOptional
PromqlstringOptional
QueryTypestring · enumOptionalPossible values:
Startstring · date-timeOptional
StepstringOptional
Responses
200Success

No content

post
/api/metrics/query
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-11-28T03:21:12.036Z",
  "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-11-28T03:21:12.036Z",
  "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