LogoLogo
Log in|Playground
  • Welcome
    • Introduction
    • FAQ
  • Capabilities
    • Log Management
    • Infrastructure Monitoring
    • Application Performance Monitoring (APM)
      • Application Metrics
      • Traces
      • Supported Technologies
    • Real User Monitoring (RUM)
  • Getting Started
    • Requirements
      • Kubernetes requirements
      • Kernel requirements for eBPF sensor
      • CPU architectures
      • ClickHouse resources
    • Installation & updating
    • Connect Linux hosts
    • Connect RUM
    • 5 quick steps to get you started
  • Use groundcover
    • Monitors
      • Create a new Monitor
      • Issues page
      • Monitor List page
      • Silences page
      • Monitor Catalog page
      • Monitor YAML structure
      • Embedded Grafana Alerts
        • Create a Grafana alert
    • Dashboards
      • Create a dashboard
      • Embedded Grafana Dashboards
        • Create a Grafana dashboard
        • Build alerts & dashboards with Grafana Terraform provider
        • Using groundcover datasources in a Self-hosted Grafana
    • Insights
    • Explore & Monitors query builder
    • Workflows
      • Create a new Workflow
      • Workflow Examples
      • Alert Structure
    • Search & Filter
    • Issues
    • Role-Based Access Control (RBAC)
    • Service Accounts
    • API Keys
    • APIs
    • Log Patterns
    • Drilldown
    • Scraping custom metrics
      • Operator based metrics
      • kube-state-metrics
      • cadvisor metrics
    • Backup & Restore Metrics
    • Metrics & Labels
    • Add custom environment labels
    • Configuring Pipelines
      • Writing Remap Transforms
      • Logs Pipeline Examples
      • Traces Pipeline Examples
      • Logs to Events Pipeline Examples
      • Logs/Traces Sensitive Data Obfuscation
      • Sensitive Data Obfuscation using OTTL
      • Log Filtering using OTTL
    • Querying your groundcover data
      • Query your logs
        • Example queries
        • Logs alerting
      • Query your metrics
      • Querying you data using an API
      • Using KEDA autoscaler with groundcover
  • Log Parsing with OpenTelemetry Pipelines
  • Log and Trace Correlation
  • RUM
  • Customization
    • Customize deployment
      • Agents in host network mode
      • API Key Secret
      • Argo CD
      • On-premise deployment
      • Quay.io registry
      • Configuring sensor deployment coverage
      • Enabling SSL Tracing in Java Applications
    • Customize usage
      • Filtering Kubernetes entities
      • Custom data retention
      • Sensitive data obfuscation
      • Custom storage
      • Custom logs collection
      • Custom labels and annotations
        • Enrich logs and traces with pod labels & annotations
        • Enrich metrics with node labels
      • Disable tracing for specific protocols
      • Tuning resources
      • Controlling the eBPF sampling mechanism
  • Integrations
    • Overview
    • Workflow Integrations
      • Slack Webhook Integration
      • Opsgenie Integration
      • Webhook Integration
        • Incident.io
      • PagerDuty Integration
      • Jira Webhook Integration
    • Data sources
      • OpenTelemetry
        • Traces & Logs
        • Metrics
      • Istio
      • AWS
        • Ingest CloudWatch Metrics
        • Ingest CloudWatch Logs
        • Ingest Logs Stored on S3
        • Integrate CloudWatch Grafana Datasource
      • GCP
        • Ingest Google Cloud Monitoring Metrics
        • Stream Logs using Pub/Sub
        • Integrate Google Cloud Monitoring Grafana Datasource
      • Azure
        • Ingest Azure Monitor Metrics
      • DataDog
        • Traces
        • Metrics
      • FluentBit
      • Fluentd
      • JSON Logs
    • 3rd-party metrics
      • ActiveMQ
      • Aerospike
      • Cassandra
      • CloudFlare
      • Consul
      • CoreDNS
      • Etcd
      • HAProxy
      • Harbor
      • JMeter
      • K6
      • Loki
      • Nginx
      • Pi-hole
      • Postfix
      • RabbitMQ
      • Redpanda
      • SNMP
      • Solr
      • Tomcat
      • Traefik
      • Varnish
      • Vertica
      • Zabbix
    • Source control (Gitlab/Github)
  • Architecture
    • Overview
    • inCloud Managed
      • Setup inCloud Managed with AWS
        • AWS PrivateLink Setup
        • EKS add-on
      • Setup inCloud Managed with GCP
      • Setup inCloud Managed with Azure
      • High Availability
      • Disaster Recovery
      • Ingestion Endpoints
      • Deploying in Sensor-Only mode
    • Security considerations
      • Okta SSO - onboarding
    • Service endpoints inside the cluster
  • Product Updates
    • What's new?
    • Earlier updates
      • 2025
        • Mar 2025
        • Feb 2025
        • Jan 2025
      • 2024
        • Dec 2024
        • Nov 2024
        • Oct 2024
        • Sep 2024
        • Aug 2024
        • July 2024
        • May 2024
        • Apr 2024
        • Mar 2024
        • Feb 2024
        • Jan 2024
      • 2023
        • Dec 2023
        • Nov 2023
        • Oct 2023
Powered by GitBook
On this page
Export as PDF
  1. Use groundcover

APIs

Last updated 3 hours ago

get

List Service Accounts

Authorizations
Responses
200
ListServiceAccountsResponse contains a list of service accounts.
500
ErrorResponse defines a common error response structure.
get
GET /api/rbac/service-accounts/list HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

delete

Delete Service Account

Authorizations
Path parameters
idanyRequired

ID of the service account to delete

Responses
202Success
400
ErrorResponse defines a common error response structure.
404
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
delete
DELETE /api/rbac/service-account/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

get

Get service account by ID

Authorizations
Path parameters
idanyRequired

ID of the service account to retrieve

Responses
200
ServiceAccountsWithPolicyResponse defines the response structure for getting a single service account.
400
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
get
GET /api/rbac/service-account/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

get

Get Policy Audit Trail

Authorizations
Path parameters
idanyRequired

UUID of the policy to get audit trail for

Responses
200
PolicyAuditTrailResponse contains the audit trail for a policy.
400
ErrorResponse defines a common error response structure.
404
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
get
GET /api/rbac/policy/{id}/auditTrail HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

delete

Delete Policy

Authorizations
Path parameters
idanyRequired

UUID of the policy to delete

Responses
200Success
400
ErrorResponse defines a common error response structure.
404
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
delete
DELETE /api/rbac/policy/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

get

Get Policy by ID

Authorizations
Path parameters
idanyRequired

UUID of the policy to retrieve

Responses
200
Add response wrapper definition ---
400
ErrorResponse defines a common error response structure.
404
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
get
GET /api/rbac/policy/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

get

List Policies

Authorizations
Responses
200
ListPoliciesResponse contains a list of policies with entity counts.
500
ErrorResponse defines a common error response structure.
get
GET /api/rbac/policies/list HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

get

List API Keys

Authorizations
Query parameters
withRevokedanyOptional

Include revoked API keys in the response.

withExpiredanyOptional

Include expired API keys in the response.

Responses
200Success
400
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
get
GET /api/rbac/apikeys/list HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

delete

Delete API Key

Authorizations
Path parameters
idanyRequired

ID of the API key to delete (revoke)

Responses
202Success
400
ErrorResponse defines a common error response structure.
404
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
delete
DELETE /api/rbac/apikey/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

delete

Delete Monitor

Authorizations
Path parameters
idanyRequired

UUID of the monitor to delete

Responses
200Success
400
ErrorResponse defines a common error response structure.
404
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
delete
DELETE /api/monitors/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Accept: */*

No content

get

Get Monitor Definition (YAML)

Authorizations
Path parameters
idanyRequired

UUID of the monitor to retrieve

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

No content

  • POST/policies/apply
  • POST/monitors/list
  • GET/api/rbac/service-accounts/list
  • PUT/api/rbac/service-account/update
  • POST/api/rbac/service-account/create
  • DELETE/api/rbac/service-account/{id}
  • GET/api/rbac/service-account/{id}
  • POST/api/rbac/policy/create
  • GET/api/rbac/policy/{id}/auditTrail
  • DELETE/api/rbac/policy/{id}
  • PUT/api/rbac/policy/{id}
  • GET/api/rbac/policy/{id}
  • GET/api/rbac/policies/list
  • GET/api/rbac/apikeys/list
  • POST/api/rbac/apikey/create
  • DELETE/api/rbac/apikey/{id}
  • DELETE/api/monitors/{id}
  • PUT/api/monitors/{id}
  • GET/api/monitors/{id}
  • POST/api/monitors
  • POSTExecute Prometheus query.
  • POSTGet workloads list.
  • POSTGet clusters list.
  • POSTGet Kubernetes events over a specified time range.
post

Apply Policies to Users

Authorizations
Body
emailsstring[] · min: 1Required

List of user emails to apply policies to.

overridebooleanOptional

If true, replaces existing policies; otherwise appends.

policyUUIDsstring[] · min: 1Required

List of policy UUIDs to apply.

Responses
200Success
400
ErrorResponse defines a common error response structure.
404
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
post
POST /policies/apply HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 58

{
  "emails": [
    "text"
  ],
  "override": true,
  "policyUUIDs": [
    "text"
  ]
}

No content

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.
400
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
post
POST /monitors/list HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 196

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

No content

put

Update Service Account

Authorizations
Body
emailstringOptional

The new email address for the service account (optional).

overridePoliciesbooleanOptional
policyUUIDsstring[]Optional

A list of policy UUIDs to set for the service account (optional, replaces existing). Provide empty list to remove all.

serviceAccountIdstringRequired

The UUID of the service account to update.

Responses
200
UpdateServiceAccountResponseWrapper defines the response structure for updating a service account.
400
ErrorResponse defines a common error response structure.
404
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
put
PUT /api/rbac/service-account/update HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 89

{
  "email": "text",
  "overridePolicies": true,
  "policyUUIDs": [
    "text"
  ],
  "serviceAccountId": "text"
}

No content

post

Create Service Account

Authorizations
Body
emailstringRequired

The email address associated with the service account.

namestringRequired

The desired name for the service account.

policyUUIDsstring[]Required

A list of policy UUIDs to assign to the service account.

Responses
200Success
400
ErrorResponse defines a common error response structure.
409
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
post
POST /api/rbac/service-account/create HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 53

{
  "email": "text",
  "name": "text",
  "policyUUIDs": [
    "text"
  ]
}

No content

post

Create Policy

Authorizations
Body
claimRolestringOptional

Optional claim role for the policy.

descriptionstringOptional

Optional description for the policy.

namestringRequired

Name of the policy.

Responses
201
Add response wrapper definition --- Correct location for response wrapper
400
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
post
POST /api/rbac/policy/create HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2898

{
  "claimRole": "text",
  "dataScope": {
    "advanced": {
      "events": {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "groups": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "groups": "[Circular Reference]",
            "operator": "text"
          }
        ],
        "operator": "text"
      },
      "logs": {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "groups": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "groups": "[Circular Reference]",
            "operator": "text"
          }
        ],
        "operator": "text"
      },
      "metrics": {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "groups": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "groups": "[Circular Reference]",
            "operator": "text"
          }
        ],
        "operator": "text"
      },
      "traces": {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "groups": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "groups": "[Circular Reference]",
            "operator": "text"
          }
        ],
        "operator": "text"
      },
      "workloads": {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "groups": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "groups": "[Circular Reference]",
            "operator": "text"
          }
        ],
        "operator": "text"
      }
    },
    "simple": {
      "conditions": [
        {
          "additionalFilter": "text",
          "autoComplete": true,
          "filterKeys": [
            "text"
          ],
          "filters": [
            {
              "op": "text",
              "value": null
            }
          ],
          "isNullable": true,
          "key": "text",
          "origin": "text",
          "type": "text"
        }
      ],
      "groups": [
        {
          "conditions": [
            {
              "additionalFilter": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "filters": [
                {
                  "op": "text",
                  "value": null
                }
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "type": "text"
            }
          ],
          "groups": "[Circular Reference]",
          "operator": "text"
        }
      ],
      "operator": "text"
    }
  },
  "description": "text",
  "name": "text",
  "role": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

No content

put

Update Policy

Authorizations
Path parameters
idanyRequired

UUID of the policy to update

Body
claimRolestringOptional

Optional new claim role for the policy.

currentRevisioninteger · int32Optional

The current revision number of the policy being updated (for optimistic locking).

descriptionstringOptional

Optional new description for the policy.

namestringRequired

New name for the policy.

Responses
202
Add response wrapper definition ---
400
ErrorResponse defines a common error response structure.
404
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
put
PUT /api/rbac/policy/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2918

{
  "claimRole": "text",
  "currentRevision": 1,
  "dataScope": {
    "advanced": {
      "events": {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "groups": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "groups": "[Circular Reference]",
            "operator": "text"
          }
        ],
        "operator": "text"
      },
      "logs": {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "groups": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "groups": "[Circular Reference]",
            "operator": "text"
          }
        ],
        "operator": "text"
      },
      "metrics": {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "groups": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "groups": "[Circular Reference]",
            "operator": "text"
          }
        ],
        "operator": "text"
      },
      "traces": {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "groups": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "groups": "[Circular Reference]",
            "operator": "text"
          }
        ],
        "operator": "text"
      },
      "workloads": {
        "conditions": [
          {
            "additionalFilter": "text",
            "autoComplete": true,
            "filterKeys": [
              "text"
            ],
            "filters": [
              {
                "op": "text",
                "value": null
              }
            ],
            "isNullable": true,
            "key": "text",
            "origin": "text",
            "type": "text"
          }
        ],
        "groups": [
          {
            "conditions": [
              {
                "additionalFilter": "text",
                "autoComplete": true,
                "filterKeys": [
                  "text"
                ],
                "filters": [
                  {
                    "op": "text",
                    "value": null
                  }
                ],
                "isNullable": true,
                "key": "text",
                "origin": "text",
                "type": "text"
              }
            ],
            "groups": "[Circular Reference]",
            "operator": "text"
          }
        ],
        "operator": "text"
      }
    },
    "simple": {
      "conditions": [
        {
          "additionalFilter": "text",
          "autoComplete": true,
          "filterKeys": [
            "text"
          ],
          "filters": [
            {
              "op": "text",
              "value": null
            }
          ],
          "isNullable": true,
          "key": "text",
          "origin": "text",
          "type": "text"
        }
      ],
      "groups": [
        {
          "conditions": [
            {
              "additionalFilter": "text",
              "autoComplete": true,
              "filterKeys": [
                "text"
              ],
              "filters": [
                {
                  "op": "text",
                  "value": null
                }
              ],
              "isNullable": true,
              "key": "text",
              "origin": "text",
              "type": "text"
            }
          ],
          "groups": "[Circular Reference]",
          "operator": "text"
        }
      ],
      "operator": "text"
    }
  },
  "description": "text",
  "name": "text",
  "role": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

No content

post

Create API Key

Authorizations
Body
descriptionstringOptional

Optional description for the API key.

expirationDatestring · date-timeOptional

Optional expiration date for the API key. Format: date-time

namestringRequired

User-defined name for the API key.

serviceAccountIdstringRequired

The UUID of the service account this key belongs to.

Responses
200
CreateApiKeyResponseWrapper defines the response structure for creating an API key.
400
ErrorResponse defines a common error response structure.
409
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
post
POST /api/rbac/apikey/create HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 106

{
  "description": "text",
  "expirationDate": "2025-05-13T11:26:55.864Z",
  "name": "text",
  "serviceAccountId": "text"
}

No content

put

Update Monitor

Authorizations
Path parameters
idanyRequired

UUID of the monitor to update

Body
all ofOptional
Responses
202Success
400
ErrorResponse defines a common error response structure.
404
ErrorResponse defines a common error response structure.
409
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
put
PUT /api/monitors/{id} HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2442

{
  "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"
        },
        "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

post

Create Monitor

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

{
  "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"
        },
        "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

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
QueryTypestringOptional
Startstring · date-timeOptional
StepstringOptional
Responses
200Success
400
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
post
POST /api/metrics/query HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 1528

{
  "Conditions": [
    {
      "additionalFilter": "text",
      "autoComplete": true,
      "filterKeys": [
        "text"
      ],
      "filters": [
        {
          "op": "text",
          "value": null
        }
      ],
      "isNullable": true,
      "key": "text",
      "origin": "text",
      "type": "text"
    }
  ],
  "End": "2025-05-13T11:26:55.864Z",
  "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": "text",
  "Start": "2025-05-13T11:26:55.864Z",
  "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

Get workloads list.

post

Retrieves a list of Kubernetes workloads based on provided source filters, conditions, sorting, and pagination.

Authorizations
Body
Limitinteger · uint32Optional
OrderstringOptional
Skipinteger · uint32Optional
SortBystringOptional
Responses
200Success
400
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
post
POST /api/k8s/v3/workloads/list HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 418

{
  "Conditions": [
    {
      "additionalFilter": "text",
      "autoComplete": true,
      "filterKeys": [
        "text"
      ],
      "filters": [
        {
          "op": "text",
          "value": null
        }
      ],
      "isNullable": true,
      "key": "text",
      "origin": "text",
      "type": "text"
    }
  ],
  "Limit": 1,
  "Order": "text",
  "Skip": 1,
  "SortBy": "text",
  "Sources": [
    {
      "additionalFilter": "text",
      "autoComplete": true,
      "filterKeys": [
        "text"
      ],
      "filters": [
        {
          "op": "text",
          "value": null
        }
      ],
      "isNullable": true,
      "key": "text",
      "origin": "text",
      "type": "text"
    }
  ]
}

No content

Get clusters list.

post

Retrieves a list of Kubernetes clusters based on provided source filters.

Authorizations
Body
Responses
200
Add response wrapper definition ---
400
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
post
POST /api/k8s/v3/clusters/list HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 183

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

No content

Get Kubernetes events over a specified time range.

post

Retrieves and filters Kubernetes events, allowing for sorting and pagination.

Authorizations
Body
Endstring · date-timeRequired

End timestamp for the query range.

Limitinteger · uint32Optional

Maximum number of events to return.

Skipinteger · uint32Optional

Number of events to skip (for pagination).

SortBystring · enumRequired

Field to sort events by.

Possible values:
SortOrderstring · enumRequired

Sort order.

Possible values:
Startstring · date-timeRequired

Start timestamp for the query range.

WithRawEventsbooleanOptional

Include raw event data in the response.

Responses
200Success
400
ErrorResponse defines a common error response structure.
500
ErrorResponse defines a common error response structure.
post
POST /api/k8s/v2/events-over-time HTTP/1.1
Host: api.groundcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 515

{
  "Conditions": [
    {
      "additionalFilter": "text",
      "autoComplete": true,
      "filterKeys": [
        "text"
      ],
      "filters": [
        {
          "op": "text",
          "value": null
        }
      ],
      "isNullable": true,
      "key": "text",
      "origin": "text",
      "type": "text"
    }
  ],
  "End": "2025-05-13T11:26:55.864Z",
  "Limit": 1,
  "Skip": 1,
  "SortBy": "timestamp",
  "SortOrder": "asc",
  "Sources": [
    {
      "additionalFilter": "text",
      "autoComplete": true,
      "filterKeys": [
        "text"
      ],
      "filters": [
        {
          "op": "text",
          "value": null
        }
      ],
      "isNullable": true,
      "key": "text",
      "origin": "text",
      "type": "text"
    }
  ],
  "Start": "2025-05-13T11:26:55.864Z",
  "WithRawEvents": true
}

No content