---
title: "Get the SLO definitions"
method: GET
path: "/s/{spaceId}/internal/observability/slos/_definitions"
tags: ["slo"]
---

# 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.

## Path parameters

- `spaceId` string, required

## Query parameters

- `includeOutdatedOnly` boolean
- `includeHealth` boolean
- `tags` string
- `search` string
- `page` number
- `perPage` integer

## Headers

- `kbn-xsrf` string, required

## Response `200`

Successful request

- union — A paginated response of SLO definitions matching the query.
  - object
    - `page` number
    - `perPage` number
    - `results` SLOsSloWithSummaryResponse[]
      - `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
              - …
            - `good` union, required — The KQL query used to define the good events.
              - …
            - `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.
              - …
          - `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
              - …
            - `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
              - …
          - `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
              - …
            - `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
              - …
          - `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
              - …
            - `timestampField` string, required — The timestamp field used in the source indice.
          - `type` string, required — The type of indicator.
      - `instanceId` string, required — the value derived from the groupBy field, if present, otherwise '*'
      - `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 (flat-world).
        - `preventInitialBackfill` boolean — Start aggregating data from the time the SLO is created, instead of backfilling data from the beginning of the time window.
        - `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.
      - `summary` SLOsSummary, required — The SLO computed data
        - `errorBudget` SLOsErrorBudget, required
          - `consumed` number, required — The error budget consummed, as a percentage of the initial value.
          - `initial` number, required — The initial error budget, as 1 - objective
          - `isEstimated` boolean, required — Only for SLO defined with occurrences budgeting method and calendar aligned time window.
          - `remaining` number, required — The error budget remaining, as a percentage of the initial value.
        - `sliValue` number, required
        - `status` 'NO_DATA' | 'HEALTHY' | 'DEGRADING' | 'VIOLATED', required
      - `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
    - `total` number
  - object
    - `page` number — for backward compability
    - `perPage` number — for backward compability
    - `results` SLOsSloWithSummaryResponse[]
      - `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
              - …
            - `good` union, required — The KQL query used to define the good events.
              - …
            - `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.
              - …
          - `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
              - …
            - `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
              - …
          - `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
              - …
            - `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
              - …
          - `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
              - …
            - `timestampField` string, required — The timestamp field used in the source indice.
          - `type` string, required — The type of indicator.
      - `instanceId` string, required — the value derived from the groupBy field, if present, otherwise '*'
      - `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 (flat-world).
        - `preventInitialBackfill` boolean — Start aggregating data from the time the SLO is created, instead of backfilling data from the beginning of the time window.
        - `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.
      - `summary` SLOsSummary, required — The SLO computed data
        - `errorBudget` SLOsErrorBudget, required
          - `consumed` number, required — The error budget consummed, as a percentage of the initial value.
          - `initial` number, required — The initial error budget, as 1 - objective
          - `isEstimated` boolean, required — Only for SLO defined with occurrences budgeting method and calendar aligned time window.
          - `remaining` number, required — The error budget remaining, as a percentage of the initial value.
        - `sliValue` number, required
        - `status` 'NO_DATA' | 'HEALTHY' | 'DEGRADING' | 'VIOLATED', required
      - `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
    - `searchAfter` string[] — the cursor to provide to get the next paged results
    - `size` number
    - `total` number

## Other responses

- `400` — Bad request
- `401` — Unauthorized response
- `403` — Forbidden response

---

[API](https://skmtc.net/elastic/apis/kibana-apis.md) · [All operations](https://skmtc.net/elastic/apis/kibana-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elastic/kibana-apis/versions/531c9e2a7d23/schema)
