Get the SLO definitions

GET /s/{spaceId}/internal/observability/slos/_definitions

You must have the read privileges for the SLOs feature in the Observability section of the Kibana feature privileges.

Headers

  • kbn-xsrf string Required

    Cross-site request forgery protection

Path parameters

  • spaceId string Required

    An identifier for the space. If /s/ and the identifier are omitted from the path, the default space is used.

Query parameters

  • Indicates if the API returns only outdated SLO or all SLO definitions

  • tags string

    Specify which SLO tags to query by (comma-separated list)

  • page number

    The page to use for pagination, must be greater or equal than 1

  • perPage integer

    Number of SLOs returned by page

    Maximum value is 1000. Default value is 100.

Responses

  • 200 application/json

    Successful request

    A paginated response of SLO definitions matching the query.

    One of:
  • 400 application/json

    Bad request

    Hide response attributes Show response attributes object
  • 401 application/json

    Unauthorized response

    Hide response attributes Show response attributes object
  • 403 application/json

    Unauthorized response

    Hide response attributes Show response attributes object
GET /s/{spaceId}/internal/observability/slos/_definitions
curl \
 --request GET 'https://localhost:5601/s/default/internal/observability/slos/_definitions' \
 --header "Authorization: $API_KEY" \
 --header "kbn-xsrf: string"
Response examples (200)
{
  "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
}
{
  "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
    }
  ],
  "searchAfter": [
    "some-slo-id",
    "other-cursor-id"
  ],
  "size": 25,
  "total": 34
}
Response examples (400)
{
  "error": "Bad Request",
  "message": "Invalid value 'foo' supplied to: [...]",
  "statusCode": 400
}
Response examples (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": 401
}
Response examples (403)
{
  "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
}