---
title: "Reset an SLO"
method: POST
path: "/s/{spaceId}/api/observability/slos/{sloId}/_reset"
tags: ["slo"]
---

# Reset an SLO

`POST /s/{spaceId}/api/observability/slos/{sloId}/_reset`

## Request

- Base URL: `https://localhost:5601`
- URL: `https://localhost:5601/s/{spaceId}/api/observability/slos/{sloId}/_reset`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP basic

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

## Path parameters

- `spaceId` string, required
- `sloId` string, required

## Headers

- `kbn-xsrf` string, required

## Response `200`

Successful request

- SLOsSloDefinitionResponse
  - `artifacts` SLOsArtifacts: Links to related assets for the SLO
    - `dashboards` object[]: Array of dashboard references
      - `id` string, required: Dashboard saved-object id
  - `budgetingMethod` 'occurrences' | 'timeslices', required: The budgeting method to use when computing the rollup data.
  - `createdAt` string, required: The creation date
  - `description` string, required: The description of the SLO.
  - `enabled` boolean, required: Indicate if the SLO is enabled
  - `groupBy` union, required: optional group by field or fields to use to generate an SLO per distinct value
    - string
    - string[]
  - `id` string, required: The identifier of the SLO.
  - `indicator` union, required
    - SLOsIndicatorPropertiesCustomKql: Defines properties for a custom query indicator type
      - `params` object, required: An object containing the indicator parameters.
        - `dataViewId` string: 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.
        - `filter` union: Defines properties for a filter
          - string: the KQL query to filter the documents with.
          - object
            - `filters` SLOsFilter[]
              - …
            - `kqlQuery` string
        - `good` union, required: The KQL query used to define the good events.
          - string: the KQL query to filter the documents with.
          - object
            - `filters` SLOsFilter[]
              - …
            - `kqlQuery` string
        - `index` string, required: The index or index pattern to use
        - `timestampField` string, required: The timestamp field used in the source indice.
        - `total` union, required: The KQL query used to define all events.
          - string: the KQL query to filter the documents with.
          - object
            - `filters` SLOsFilter[]
              - …
            - `kqlQuery` string
      - `type` string, required: The type of indicator.
    - SLOsIndicatorPropertiesApmAvailability: Defines properties for the APM availability indicator type
      - `params` object, required: An object containing the indicator parameters.
        - `environment` string, required: The APM service environment or "*"
        - `filter` string: KQL query used for filtering the data
        - `index` string, required: The index used by APM metrics
        - `service` string, required: The APM service name
        - `transactionName` string, required: The APM transaction name or "*"
        - `transactionType` string, required: The APM transaction type or "*"
      - `type` string, required: The type of indicator.
    - SLOsIndicatorPropertiesApmLatency: Defines properties for the APM latency indicator type
      - `params` object, required: An object containing the indicator parameters.
        - `environment` string, required: The APM service environment or "*"
        - `filter` string: KQL query used for filtering the data
        - `index` string, required: The index used by APM metrics
        - `service` string, required: The APM service name
        - `threshold` number, required: The latency threshold in milliseconds
        - `transactionName` string, required: The APM transaction name or "*"
        - `transactionType` string, required: The APM transaction type or "*"
      - `type` string, required: The type of indicator.
    - SLOsIndicatorPropertiesCustomMetric: Defines properties for a custom metric indicator type
      - `params` object, required: An object containing the indicator parameters.
        - `dataViewId` string: 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.
        - `filter` string: the KQL query to filter the documents with.
        - `good` object, required: An object defining the "good" metrics and equation
          - `equation` string, required: The equation to calculate the "good" metric.
          - `metrics` union[], required: List of metrics with their name, aggregation type, and field.
            - union
              - …
        - `index` string, required: The index or index pattern to use
        - `timestampField` string, required: The timestamp field used in the source indice.
        - `total` object, required: An object defining the "total" metrics and equation
          - `equation` string, required: The equation to calculate the "total" metric.
          - `metrics` union[], required: List of metrics with their name, aggregation type, and field.
            - union
              - …
      - `type` string, required: The type of indicator.
    - SLOsIndicatorPropertiesHistogram: Defines properties for a histogram indicator type
      - `params` object, required: An object containing the indicator parameters.
        - `dataViewId` string: 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.
        - `filter` string: the KQL query to filter the documents with.
        - `good` object, required: An object defining the "good" events
          - `aggregation` 'value_count' | 'range', required: The type of aggregation to use.
          - `field` string, required: The field use to aggregate the good events.
          - `filter` string: The filter for good events.
          - `from` number: The starting value of the range. Only required for "range" aggregations.
          - `to` number: The ending value of the range. Only required for "range" aggregations.
        - `index` string, required: The index or index pattern to use
        - `timestampField` string, required: The timestamp field used in the source indice.
        - `total` object, required: An object defining the "total" events
          - `aggregation` 'value_count' | 'range', required: The type of aggregation to use.
          - `field` string, required: The field use to aggregate the good events.
          - `filter` string: The filter for total events.
          - `from` number: The starting value of the range. Only required for "range" aggregations.
          - `to` number: The ending value of the range. Only required for "range" aggregations.
      - `type` string, required: The type of indicator.
    - SLOsIndicatorPropertiesTimesliceMetric: Defines properties for a timeslice metric indicator type
      - `params` object, required: An object containing the indicator parameters.
        - `dataViewId` string: 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.
        - `filter` string: the KQL query to filter the documents with.
        - `index` string, required: The index or index pattern to use
        - `metric` object, required: An object defining the metrics, equation, and threshold to determine if it's a good slice or not
          - `comparator` 'GT' | 'GTE' | 'LT' | 'LTE', required: The comparator to use to compare the equation to the threshold.
          - `equation` string, required: The equation to calculate the metric.
          - `metrics` union[], required: List of metrics with their name, aggregation type, and field.
            - union
              - …
          - `threshold` number, required: The threshold used to determine if the metric is a good slice or not.
        - `timestampField` string, required: The timestamp field used in the source indice.
      - `type` string, required: The type of indicator.
  - `name` string, required: The name of the SLO.
  - `objective` SLOsObjective, required: Defines properties for the SLO objective
    - `target` number, required: the target objective between 0 and 1 excluded
    - `timesliceTarget` number: the target objective for each slice when using a timeslices budgeting method
    - `timesliceWindow` string: the duration of each slice when using a timeslices budgeting method, as {duraton}{unit}
  - `revision` number, required: The SLO revision
  - `settings` SLOsSettings, required: Defines properties for SLO settings.
    - `frequency` string: 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.
    - `preventCrossProjectSearch` boolean: 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.
    - `preventInitialBackfill` boolean: Start aggregating data from the time the SLO is created, instead of backfilling data from the beginning of the time window.
    - `projectRoutings` string, nullable: ES ProjectRouting expression controlling which linked projects the L1 rollup reads. When set (including null), overrides preventCrossProjectSearch. null and `_alias:_origin` mean origin only; `_alias:*` means all linked projects. Subset example `_id:p1 AND _id:p2`.
    - `syncDelay` string: 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.
    - `syncField` string: 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.
  - `tags` string[], required: List of tags
  - `timeWindow` SLOsTimeWindow, required: Defines properties for the SLO time window
    - `duration` string, required: the duration formatted as {duration}{unit}. Accepted values for rolling: 7d, 30d, 90d. Accepted values for calendar aligned: 1w (weekly) or 1M (monthly)
    - `type` 'rolling' | 'calendarAligned', required: Indicates weither the time window is a rolling or a calendar aligned time window.
  - `updatedAt` string, required: The last update date
  - `version` number, required: The internal SLO version

## Other responses

- `400`: Bad request
- `401`: Unauthorized response
- `403`: Forbidden response
- `404`: Not found response

## Changes

> 274 revisions in range; 118 not diffed.

- **2026-08-25** `b52bed8a6bce`: 2 info
  - added the optional property `settings/projectRoutings` to the response with the `200` status
  - response property `settings/preventCrossProjectSearch` deprecated
- **2026-07-31** `de0bc7723823`: 1 info
  - added the optional property `settings/preventCrossProjectSearch` to the response with the `200` status

[Operation history](https://skmtc.dev/elastic/apis/kibana-apis/changes/s/:spaceId/api/observability/slos/:sloId/_reset/post.md)

---

[API](https://skmtc.dev/elastic/apis/kibana-apis.md) - [All operations](https://skmtc.dev/elastic/apis/kibana-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/elastic/apis/kibana-apis/revisions/514417f60094?raw)
