Get a paginated list of SLOs
You must have the read
privileges for the SLOs feature in the Observability section of the Kibana feature privileges.
Path parameters
-
An identifier for the space. If
/s/
and the identifier are omitted from the path, the default space is used.
Query parameters
-
kqlQuery string
A valid kql query to filter the SLO with
-
page integer
The page to use for pagination, must be greater or equal than 1
Default value is
1
. -
perPage integer
Number of SLOs returned by page
Maximum value is
5000
. Default value is25
. -
sortBy string
Sort by field
Values are
sli_value
,status
,error_budget_consumed
, orerror_budget_remaining
. Default value isstatus
. -
sortDirection string
Sort order
Values are
asc
ordesc
. Default value isasc
. -
hideStale boolean
Hide stale SLOs from the list as defined by stale SLO threshold in SLO settings
Responses
-
200 application/json; Elastic-Api-Version=2023-10-31
Successful request
-
400 application/json; Elastic-Api-Version=2023-10-31
Bad request
-
401 application/json; Elastic-Api-Version=2023-10-31
Unauthorized response
-
403 application/json; Elastic-Api-Version=2023-10-31
Unauthorized response
-
404 application/json; Elastic-Api-Version=2023-10-31
Not found response
curl \
-X GET https://localhost:5601/s/default/api/observability/slos \
-H "kbn-xsrf: string"
{
"page": 1,
"perPage": 25,
"results": [
{
"budgetingMethod": "occurrences",
"createdAt": "2023-01-12T10:03:19.000Z",
"description": "My SLO description",
"enabled": true,
"groupBy": [
[
"service.name"
],
"service.name",
[
"service.name",
"service.environment"
]
],
"id": "8853df00-ae2e-11ed-90af-09bb6422b258",
"indicator": {
"params": {
"dataViewId": "03b80ab3-003d-498b-881c-3beedbaf1162",
"filter": "field.environment : \"production\" and service.name : \"my-service\"",
"good": "request.latency <= 150 and request.status_code : \"2xx\"",
"index": "my-service-*",
"timestampField": "timestamp",
"total": "field.environment : \"production\" and service.name : \"my-service\""
},
"type": "sli.kql.custom"
},
"instanceId": "host-abcde",
"name": "My Service SLO",
"objective": {
"target": 0.99,
"timesliceTarget": 0.995,
"timesliceWindow": "5m"
},
"revision": 2,
"settings": {
"frequency": "5m",
"preventInitialBackfill": true,
"syncDelay": "5m",
"syncField": "event.ingested"
},
"summary": {
"errorBudget": {
"consumed": 0.8,
"initial": 0.02,
"isEstimated": true,
"remaining": 0.2
},
"sliValue": 0.9836,
"status": "HEALTHY"
},
"tags": [
"string"
],
"timeWindow": {
"duration": "30d",
"type": "rolling"
},
"updatedAt": "2023-01-12T10:03:19.000Z",
"version": 2
}
],
"total": 34
}
{
"error": "Bad Request",
"message": "Invalid value 'foo' supplied to: [...]",
"statusCode": 400
}
{
"error": "Unauthorized",
"message": "[security_exception\n\tRoot causes:\n\t\tsecurity_exception: unable to authenticate user [elastics] for REST request [/_security/_authenticate]]: unable to authenticate user [elastics] for REST request [/_security/_authenticate]",
"statusCode": 401
}
{
"error": "Unauthorized",
"message": "[security_exception\n\tRoot causes:\n\t\tsecurity_exception: unable to authenticate user [elastics] for REST request [/_security/_authenticate]]: unable to authenticate user [elastics] for REST request [/_security/_authenticate]",
"statusCode": 403
}
{
"error": "Not Found",
"message": "SLO [3749f390-03a3-11ee-8139-c7ff60a1692d] not found",
"statusCode": 404
}