Update an SLO
- Base URL
-
https://{kibana_url}
- PUT /api/observability/slos/{id}
- PUT /s/{space_id}/api/observability/slos/{id}
You must have the write privileges for the SLOs feature in the Observability section of the Kibana feature privileges.
Required authorization
- Privileges slo_write
Path parameters
-
space_idstringoptional -
An identifier for the space. If
space_idis not provided in the URL, the default space is used. Refer to Spaces for more information.
Request body
-
budgetingMethodunion anyOf -
The budgeting method to use when computing the rollup data.
-
Values:
occurrencestimeslices -
groupByunion anyOf -
optional group by field or fields to use to generate an SLO per distinct value
-
Values:
* -
indicatorunion oneOf -
The indicator to use to compute the SLI
-
One of:
(determined by
type) -
paramsobjectrequired -
An object containing the indicator parameters.
-
paramsobjectrequired -
An object containing the indicator parameters.
-
paramsobjectrequired -
An object containing the indicator parameters.
-
dataViewIdstring -
The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries.
-
goodunion anyOfrequired -
the KQL query used to define the good events, or an object defining the KQL query and filters.
-
Same options as
filterinparams -
totalunion anyOfrequired -
the KQL query used to define all events, or an object defining the KQL query and filters.
-
Same options as
filterinparams -
paramsobjectrequired -
An object containing the indicator parameters.
-
paramsobjectrequired -
An object containing the indicator parameters.
-
dataViewIdstring -
The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries.
-
metricobjectrequired -
An object defining the metrics, equation, and threshold to determine if it's a good slice or not
-
paramsobjectrequired -
An object containing the indicator parameters.
-
settingsobject -
Defines properties for SLO settings.
-
frequencystring · max length: 16 -
The interval between checks for changes in the source data. The minimum value is 1m and the maximum is 59m. The default value is 1 minute.
-
preventCrossProjectSearchboolean -
Pin the L1 rollup transform to the local/origin project only, preventing flat-world (cross-linked-project) reads. Only applies on serverless. Default is false, meaning rollup transforms target all linked projects.
-
preventInitialBackfillboolean -
Start aggregating data from the time the SLO is created, instead of backfilling data from the beginning of the time window.
-
projectRoutingsstring · max length: 8192nullable -
ES ProjectRouting expression controlling which linked projects the L1 rollup reads. When set (including null), overrides preventCrossProjectSearch. null and
_alias:_originmean origin only;_alias:*means all linked projects. Subset example_id:p1 AND _id:p2. -
syncDelaystring · max length: 16 -
The time delay in minutes between the current time and the latest source data time. Increasing the value will delay any alerting. The default value is 1 minute. The minimum value is 1m and the maximum is 359m. It should always be greater then source index refresh interval.
-
syncFieldstringnullable -
The date field that is used to identify new documents in the source. It is strongly recommended to use a field that contains the ingest timestamp. If you use a different field, you might need to set the delay such that it accounts for data transmission delays. When unspecified, we use the indicator timestamp field.
type: sli.apm.transactionDuration
Defines properties for the APM latency indicator type
type: sli.apm.transactionErrorRate
Defines properties for the APM availability indicator type
type: sli.synthetics.availability
Defines properties for a synthetics availability indicator type
type: sli.kql.custom
Defines properties for a custom query indicator type
type: sli.metric.custom
Defines properties for a custom metric indicator type
type: sli.metric.timeslice
Defines properties for a timeslice metric indicator type
type: sli.histogram.custom
Defines properties for a histogram indicator type
Responses
Successful request
-
budgetingMethodenumrequired -
The budgeting method to use when computing the rollup data.
-
Values:
occurrencestimeslices -
groupByunion string | string[]required -
optional group by field or fields to use to generate an SLO per distinct value
-
indicatorobjectrequired -
The SLI indicator. Its
paramsdepend ontype; see theindicatorproperty of the create SLO request body. -
settingsobjectrequired -
Defines properties for SLO settings.
-
frequencystring · default: 1m -
The interval between checks for changes in the source data. The minimum value is 1m and the maximum is 59m. The default value is 1 minute.
-
preventCrossProjectSearchboolean · default: falsedeprecated -
Pin the L1 rollup transform to the local/origin project only, preventing flat-world (cross-linked-project) reads. Only applies on serverless. Default is false, meaning rollup transforms target all linked projects.
-
preventInitialBackfillboolean · default: false -
Start aggregating data from the time the SLO is created, instead of backfilling data from the beginning of the time window.
-
projectRoutingsstring · max length: 8192nullable -
ES ProjectRouting expression controlling which linked projects the L1 rollup reads. When set (including null), overrides preventCrossProjectSearch. null and
_alias:_originmean origin only;_alias:*means all linked projects. Subset example_id:p1 AND _id:p2. -
syncDelaystring · default: 1m -
The time delay in minutes between the current time and the latest source data time. Increasing the value will delay any alerting. The default value is 1 minute. The minimum value is 1m and the maximum is 359m. It should always be greater then source index refresh interval.
-
syncFieldstring -
The date field that is used to identify new documents in the source. It is strongly recommended to use a field that contains the ingest timestamp. If you use a different field, you might need to set the delay such that it accounts for data transmission delays. When unspecified, we use the indicator timestamp field.
Bad request
Unauthorized response
Forbidden response