Metrics (v2)

Preview: The v2 API is in preview and may change without notice before it's generally available.

Time-series metric data collected by Redgate Monitor from monitored servers — CPU, memory, wait stats, query durations, and more.

Operations

MethodPathDescription
GET /api/v2/metrics List all metrics
GET /api/v2/metrics/data List metric time series data

List all metrics

Returns all metrics available for querying, optionally filtered by the server types they support. Use the returned id values as metricIds in GET /metrics/data.

GET /api/v2/metrics

curl -G https://your-host/api/v2/metrics \
  -H "Authorization: Bearer $TOKEN" \
  --data-urlencode "supportedServerTypes=AmazonRdsHost"

Query parameters

supportedServerTypes array · entity-type · enum OPTIONAL

Match metrics that support at least one of the supplied server types. Repeat the parameter for multiple values. null returns all metrics regardless of server type.

See Entity types.

Responses

200 — The list of available metrics (empty array if none match)

Response object: Metric array

{
  "data": [
    {
      "id": "Machine.LogicalDisk.AverageReadTime",
      "name": "Disk avg. read time",
      "supportedServerTypes": [
        "Machine"
      ]
    }
  ],
  "status": "success"
}

Response object: JSendFailure

{
  "status": "fail",
  "data": {}
}

Response object: JSendMessageOnlyError

{
  "status": "error",
  "message": "string"
}

Response object: JSendMessageOnlyError

{
  "status": "error",
  "message": "string"
}

Response object: JSendFailure

{
  "status": "fail",
  "data": {}
}

Response object: ProblemDetails

{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string"
}

Response object: JSendError

{
  "status": "error",
  "message": "string"
}

List metric time series data

Returns sampled metric data for each requested metric and entity combination over the specified time range. Supply one or more metric IDs (from GET /metrics) and, optionally, entity IDs (from GET /monitored-servers). Omitting entityIds returns data for all entities that have data for the requested metrics. The time range must be between 15 minutes and 31 days. When startTime and endTime are both omitted, the last hour is returned.

GET /api/v2/metrics/data

curl -G https://your-host/api/v2/metrics/data \
  -H "Authorization: Bearer $TOKEN" \
  --data-urlencode "metricIds=value" \
  --data-urlencode "entityIds=value" \
  --data-urlencode "startTime=2024-01-01T00:00:00Z" \
  --data-urlencode "endTime=2024-01-01T00:00:00Z"

Query parameters

metricIds array · string[] REQUIRED

One or more metric IDs to retrieve data for. Use the id values returned by GET /metrics. Repeat the parameter for multiple values (e.g. ?metricIds=Machine.LogicalDisk.AverageReadTime&metricIds=Machine.Processors.PercentProcessorTime).

entityIds array · entity-id OPTIONAL

Optional entity IDs to restrict results to. Use the entityId values returned by GET /monitored-servers. Repeat the parameter for multiple values. Omit to return data for all entities that have data for the requested metrics.

startTime string · date-time OPTIONAL

Start of the time range (UTC). Defaults to one hour before endTime, or one hour before the current time when endTime is also omitted.

endTime string · date-time OPTIONAL

End of the time range (UTC). Must be later than startTime when startTime is provided. Defaults to the current time.

Responses

200 — Time series data for each requested metric/entity combination

Response object: MetricSeries array

{
  "data": [
    {
      "metricId": "Machine.LogicalDisk.AverageReadTime",
      "metricName": "Disk avg. read time",
      "entityType": "Disk",
      "entityId": "r1,4:base,s36:4bba3b44-5634-4b33-aff8-f53c4315efe3,7:Cluster,1,4:Name,s15:dev-prod,7:Machine,1,4:Name,s0:,11:LogicalDisk,1,4:Name,s2:Z:,,",
      "entityName": "Z:",
      "dataUnit": "Milliseconds",
      "dataPoints": [
        {
          "timestamp": "2025-01-15T12:00:00Z",
          "value": 42.5
        }
      ],
      "parentEntity": {
        "entityId": "r1,4:base,s36:4bba3b44-5634-4b33-aff8-f53c4315efe3,7:Cluster,1,4:Name,s15:dev-prod,",
        "entityName": "prod-host-01",
        "entityType": "SqlServer",
        "parentEntity": null
      }
    }
  ],
  "status": "success"
}

Response object: JSendFailure

{
  "status": "fail",
  "data": {}
}

Response object: JSendMessageOnlyError

{
  "status": "error",
  "message": "string"
}

Response object: JSendMessageOnlyError

{
  "status": "error",
  "message": "string"
}

Response object: JSendFailure

{
  "status": "fail",
  "data": {}
}

Response object: JSendError

{
  "status": "error",
  "message": "string"
}

Response object: JSendFailure

{
  "status": "fail",
  "data": {}
}

Response object: ProblemDetails

{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string"
}

Response object: JSendError

{
  "status": "error",
  "message": "string"
}

This documentation contains proprietary information and is protected by copyright law.
Copyright © 2026 Red Gate Software Limited. All rights reserved


Didn't find what you were looking for?