Service-level objectives API - GET all SLOs

Lists all service-level objectives and their calculated values.

By default the values are calculated for the SLO's own timeframe. You can use a custom timeframe:

  1. Set the timeFrame parameter to GTF.
  2. Provide the timeframe in from and to parameters.

The request produces an application/json payload.

GETSaaShttps://{your-environment-id}.live.dynatrace.com/api/v2/slo
Environment ActiveGateCluster ActiveGatehttps://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/slo

Authentication

To execute this request, you need an access token with slo.read scope.

To learn how to obtain and use it, see Tokens and authentication.

Parameters

ParameterTypeDescriptionInRequired
nextPageKeystring

The cursor for the next page of results. You can find it in the nextPageKey field of the previous response.

The first page is always returned if you don't specify the nextPageKey query parameter.

When the nextPageKey is set to obtain subsequent pages, you must omit all other query parameters.

queryoptional
pageSizeinteger

The amount of SLOs in a single response payload.

The maximal allowed page size is 10000.

If not set, 10 is used.

queryoptional
fromstring

The start of the requested timeframe.

You can use one of the following formats:

  • Timestamp in UTC milliseconds.
  • Human-readable format of 2021-01-25T05:57:01.123+01:00. If no time zone is specified, UTC is used. You can use a space character instead of the T. Seconds and fractions of a second are optional.
  • Relative timeframe, back from now. The format is now-NU/A, where N is the amount of time, U is the unit of time, and A is an alignment. The alignment rounds all the smaller values to the nearest zero in the past. For example, now-1y/w is one year back, aligned by a week. You can also specify relative timeframe without an alignment: now-NU. Supported time units for the relative timeframe are:
    • m: minutes
    • h: hours
    • d: days
    • w: weeks
    • M: months
    • y: years

If not set, the relative timeframe of two weeks is used (now-2w).

queryoptional
tostring

The end of the requested timeframe.

You can use one of the following formats:

  • Timestamp in UTC milliseconds.
  • Human-readable format of 2021-01-25T05:57:01.123+01:00. If no time zone is specified, UTC is used. You can use a space character instead of the T. Seconds and fractions of a second are optional.
  • Relative timeframe, back from now. The format is now-NU/A, where N is the amount of time, U is the unit of time, and A is an alignment. The alignment rounds all the smaller values to the nearest zero in the past. For example, now-1y/w is one year back, aligned by a week. You can also specify relative timeframe without an alignment: now-NU. Supported time units for the relative timeframe are:
    • m: minutes
    • h: hours
    • d: days
    • w: weeks
    • M: months
    • y: years

If not set, the current timestamp is used.

queryoptional
sloSelectorstring

The scope of the query. Only SLOs matching the provided criteria are included in the response.

You can add one or several of the criteria listed below.

  • SLO ID: id("id-1","id-2").
  • Name: name("name"). Filters for an SLO with the given name. The filter is case-sensitive.
  • Health state: healthState("HEALTHY") or healthState("UNHEALTHY"). Filters for SLOs that have no related open problems (HEALTHY) or SLOs that have related open problems (UNHEALTHY). You can specify only one health state.
  • Text: text("value"). Filters for all SLOs that contain the given value in their name or description. The filter is case-insensitive.
  • Problem: problemDisplayName("value"). Filters for all SLOs that are related to a given problem display name (e.g. P-12345).
  • Management zone name: managementZone("MZ-A"). Filters for all SLOs that are related to the given management zone name. Returned SLOs are evaluated against the given management zone.
  • Management zone ID: managementZoneID("123"). Filters for all SLOs that are related to the given management zone ID. Returned SLOs are evaluated against the given management zone.

To set several criteria, separate them with comma (,). Only SLOs matching all criteria are included in the response. Examples:

  • .../api/v2/slo?sloSelector=name("Service Availability")
  • .../api/v2/slo?sloSelector=id("id")
  • .../api/v2/slo?sloSelector=text("Description"),healthState("HEALTHY").

The special characters ~ and " need to be escaped using a ~ (e.g. double quote search text("~"")).

queryoptional
sortstring

The sorting of SLO entries:

  • name: Names in ascending order.
  • -name: Names in descending order.

If not set, the ascending order is used.

queryoptional
timeFramestring

The timeframe to calculate the SLO values:

  • CURRENT: SLO's own timeframe.
  • GTF: timeframe specified by from and to parameters.

If not set, the CURRENT value is used.

  • CURRENT
  • GTF
queryoptional
demoboolean

Get your SLOs (false) or a set of demo SLOs (true).

queryoptional
evaluatestring

Get your SLOs without them being evaluated (false) or with evaluations (true) with maximum pageSize of 25.

  • true
  • false
queryoptional
enabledSlosstring

Get your enabled SLOs (true), disabled ones (false) or both enabled and disabled ones (all).

  • true
  • false
  • all
queryoptional
showGlobalSlosboolean

Get your global SLOs (true) regardless of the selected filter or filter them out (false).

queryoptional

Response

Response codes

CodeTypeDescription
200SLOs

Success. The response contains the parameters and calculated values of the requested SLO.

400ErrorEnvelope

Failed. The input is invalid.

4XXErrorEnvelope

Client side error.

5XXErrorEnvelope

Server side error.

Response body objects

The SLOs object

Contains SLOs and paging information.

ElementTypeDescription
nextPageKeystring

The cursor for the next page of results. Has the value of null on the last page.

Use it in the nextPageKey query parameter to obtain subsequent pages of the result.

pageSizeinteger

The number of entries per page.

sloSLO[]

The list of SLOs.

totalCountinteger

The total number of entries in the result.

The SLO object

Parameters of a service-level objective (SLO).

ElementTypeDescription
burnRateMetricKeystring

The key for the SLO's error budget burn rate func metric.

denominatorValuenumber

DEPRECATED

The denominator value used to evaluate the SLO when useRateMetric is set to false.

descriptionstring

A short description of the SLO.

enabledboolean

The SLO is enabled (true) or disabled (false).

errorstring

The error of the SLO calculation.

If the value differs from NONE, there is something wrong with the SLO calculation.

errorBudgetnumber

The error budget of the calculated SLO.

The error budget is the difference between the calculated and target values. A positive number means all is good; a negative number means trouble.

Has the value of the evaluated error budget or the value of -1:

  • If there is an error with the SLO calculation; in that case check the value of the error property.
  • If the evaluate parameter has not been set to true; in that case the error property will contain no error.
errorBudgetBurnRateSloBurnRate

Error budget burn rate evaluation of a service-level objective (SLO).

errorBudgetMetricKeystring

The key for the SLO's error budget func metric.

evaluatedPercentagenumber

The calculated status value of the SLO. Has the value of the evaluated SLO status or the value of -1:

  • If there is an error with the SLO calculation; in that case check the value of the error property.
  • If the evaluate parameter has not been set to true; in that case the error property will contain no error.
evaluationTypestring

The evaluation type of the SLO.

  • AGGREGATE
filterstring

The entity filter for the SLO evaluation. The total length of the entitySelector string in SLOs is limited to 1,000 characters. Use the syntax of entity selector.

idstring

The ID of the SLO

metricDenominatorstring

DEPRECATED

The total count metric (the denominator in rate calculation).

Required when the useRateMetric is set to false.

metricExpressionstring

The percentage-based metric expression for the calculation of the SLO.

metricKeystring

The key for the SLO's status func metric.

metricNumeratorstring

DEPRECATED

The metric for the count of successes (the numerator in rate calculation).

Required when the useRateMetric is set to false.

metricRatestring

DEPRECATED

The percentage-based metric for the calculation of the SLO.

Required when the useRateMetric is set to true.

namestring

The name of the SLO.

normalizedErrorBudgetMetricKeystring

The key for the SLO's normalized error budget func metric.

numeratorValuenumber

DEPRECATED

The numerator value used to evaluate the SLO when useRateMetric is set to false.

problemFiltersstring[]

DEPRECATED

The entity filter for fetching the number of problems related to an SLO. Auto-generated in case no filter has been added to the SLO.

relatedOpenProblemsinteger

Number of open problems related to the SLO.

Has the value of -1 if there's an error with fetching SLO related problems.

relatedTotalProblemsinteger

Total number of problems related to the SLO.

Has the value of -1 if there's an error with fetching SLO related problems.

statusstring

The status of the calculated SLO.

  • FAILURE
  • SUCCESS
  • WARNING
targetnumber

The target value of the SLO.

timeframestring

The timeframe for the SLO evaluation. Use the syntax of the global timeframe selector.

useRateMetricboolean

DEPRECATED

The type of the metric to use for SLO calculation:

  • true: An existing percentage-based metric.
  • false: A ratio of two metrics.

For a list of available metrics, see Built-in metric page or try the GET metrics API call.

warningnumber

The warning value of the SLO.

At warning state the SLO is still fulfilled but is getting close to failure.

The SloBurnRate object

Error budget burn rate evaluation of a service-level objective (SLO).

ElementTypeDescription
burnRateTypestring

The calculated burn rate type.

Has a value of 'FAST', 'SLOW' or 'NONE'.

  • FAST
  • NONE
  • SLOW
burnRateValuenumber

The burn rate of the SLO, calculated for the last hour.

burnRateVisualizationEnabledboolean

The error budget burn rate calculation is enabled (true) or disabled (false).

In case of false, no calculated values will be present here.

estimatedTimeToConsumeErrorBudgetnumber

The estimated time left to consume the error budget in hours.

fastBurnThresholdnumber

The threshold between a slow and a fast burn rate.

sloValuenumber

The calculated value of the SLO for the timeframe chosen for the burn rate calculation.

Response body JSON model

{
"nextPageKey": "AQAAABQBAAAABQ==",
"pageSize": 1,
"slo": [
{
"burnRateMetricKey": "func:slo.errorBudgetBurnRate.payment_service_availability",
"denominatorValue": 90,
"description": "Rate of successful payments per week",
"enabled": true,
"error": "NONE",
"errorBudget": 1.25,
"errorBudgetBurnRate": {
"burnRateType": "SLOW",
"burnRateValue": 1.25,
"burnRateVisualizationEnabled": true,
"estimatedTimeToConsumeErrorBudget": 24,
"fastBurnThreshold": 1.5,
"sloValue": 95
},
"errorBudgetMetricKey": "func:slo.errorBudget.payment_service_availability",
"evaluatedPercentage": 96.25,
"evaluationType": "AGGREGATE",
"filter": "type(\"SERVICE\")",
"id": "123e4567-e89b-42d3-a456-556642440000",
"metricDenominator": "builtin:service.requestCount.server",
"metricExpression": "(100)*(builtin:service.errors.server.successCount:splitBy())/(builtin:service.requestCount.server:splitBy())",
"metricKey": "func:slo.payment_service_availability",
"metricNumerator": "builtin:service.errors.server.successCount",
"metricRate": "builtin:service.successes.server.rate",
"name": "Payment service availability",
"normalizedErrorBudgetMetricKey": "func:slo.normalizedErrorBudget.payment_service_availability",
"numeratorValue": 80,
"problemFilters": "[type(\"SERVICE\")]",
"relatedOpenProblems": 1,
"relatedTotalProblems": 1,
"status": "WARNING",
"target": 95,
"timeframe": "-1d",
"useRateMetric": true,
"warning": 97.5
}
],
"totalCount": 1
}