slo

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

put/s/{spaceId}/api/observability/slos/{sloId}

Request

  • Base URL
    https://localhost:5601
  • URL
    https://localhost:5601/s/{spaceId}/api/observability/slos/{sloId}
  • Auth
    • API key in header Authorization
    • or HTTP basic

Path parameters

spaceIdstring required
Example:default

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

sloIdstring required
Example:9c235211-6834-11ea-a78c-6feb38a34414

An identifier for the slo.

Headers

kbn-xsrfstring required

Cross-site request forgery protection

Request body

budgetingMethod'occurrences' | 'timeslices'

The budgeting method to use when computing the rollup data.

descriptionstring

A description for the SLO.

namestring

A name for the SLO.

tagsstring[]

List of tags

Example request

{
  "budgetingMethod": "occurrences",
  "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"
  },
  "objective": {
    "target": 0.99,
    "timesliceTarget": 0.995,
    "timesliceWindow": "5m"
  },
  "settings": {
    "frequency": "5m",
    "preventCrossProjectSearch": true,
    "preventInitialBackfill": true,
    "projectRoutings": "_alias:_origin",
    "syncDelay": "5m",
    "syncField": "event.ingested"
  },
  "timeWindow": {
    "duration": "30d",
    "type": "rolling"
  }
}

Response

Successful request

budgetingMethod'occurrences' | 'timeslices' required

The budgeting method to use when computing the rollup data.

createdAtstring required

The creation date

descriptionstring required

The description of the SLO.

enabledboolean required

Indicate if the SLO is enabled

idstring required

The identifier of the SLO.

namestring required

The name of the SLO.

revisionnumber required

The SLO revision

tagsstring[] required

List of tags

updatedAtstring required

The last update date

versionnumber required

The internal SLO version

Example response

{
  "budgetingMethod": "occurrences",
  "createdAt": "2023-01-12T10:03:19.000Z",
  "description": "My SLO description",
  "enabled": true,
  "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"
  },
  "name": "My Service SLO",
  "objective": {
    "target": 0.99,
    "timesliceTarget": 0.995,
    "timesliceWindow": "5m"
  },
  "revision": 2,
  "settings": {
    "frequency": "5m",
    "preventCrossProjectSearch": true,
    "preventInitialBackfill": true,
    "projectRoutings": "_alias:_origin",
    "syncDelay": "5m",
    "syncField": "event.ingested"
  },
  "timeWindow": {
    "duration": "30d",
    "type": "rolling"
  },
  "updatedAt": "2023-01-12T10:03:19.000Z",
  "version": 2
}

Changes

    • info

      added the new optional request property /

    • info

      request property / deprecated

    • info

      added the optional property / to the response with the status

    • info

      response property settings/preventCrossProjectSearch deprecated

    • info

      added the new optional request property /

    • info

      added the optional property / to the response with the status