---
title: "GET /api/v1/config/slos"
method: GET
path: "/api/v1/config/slos"
tags: ["SLO"]
---

# GET /api/v1/config/slos

`GET /api/v1/config/slos`

## Query parameters

- `page.max_size` integer
- `page.token` string
- `slugs` string[]
- `names` string[]
- `collection_slugs` string[]
- `service_slugs` string[]

## Response `200`

A successful response.

- Configv1ListSLOsResponse
  - `page` Configv1PageResult
    - `next_token` string — An opaque page token that identifies the next page of items that the client should request. An empty value indicates that there are no more items to return.
  - `slos` Configv1SLO[]
    - `annotations` object — Annotations are visible in notifications generated by this SLO. You can template annotations with labels from notifications.
    - `collection_ref` Configv1CollectionReference
      - `slug` string
      - `type` 'SIMPLE' | 'SERVICE'
    - `created_at` string, date-time — Timestamp of when the SLO was created. Cannot be set by clients.
    - `definition` SLODefinition
      - `burn_rate_alerting_config` DefinitionBurnRateDefinition[] — Provides the burn rate alert configuration for the SLO. If not provided, the default burn rates are used. The configuration is only valid if the `enable_burn_rate_alerting` flag is set to `true`.
        - `budget` number, double — The amount of allowed errors during a given time window, expressed as a percentage of the error budget. Must be a value between `0.0` and `100.0`, exclusive.
        - `labels` object — Labels to attach when this burn rate triggers. If you add these labels to `signal_groupings`, you can route them in the notification policy, and can route different burn rates to other notifiers.
        - `severity` string — Defines the alert severity level, which can only be one of `critical` or `warn`.
        - `window` string, required — Time window for the burn rate calculation.
      - `enable_burn_rate_alerting` boolean — If `true`, enables burn rate alerting.
      - `objective` number, double — The SLO target percentage, which represents the availability of the SLO.
      - `time_window` DefinitionTimeWindow
        - `duration` string — Time window that defines the evaluation period as a string, in the format like `"28d"` (28 days) or `"24h"` (24 hours).
    - `description` string
    - `labels` object — Labels are visible in notifications generated by this SLO, and can be used to route alerts with notification overrides.
    - `name` string, required — The name of the SLO. You can modify this value after the SLO is created.
    - `notification_policy_slug` string — Optional. Slug of the notification policy to use for the SLO. If you don't specify a value, then the collection or service this SLO belongs to must have a notification policy. Required if alerting is enabled for this SLO.
    - `signal_grouping` MonitorSignalGrouping — SignalGrouping defines how the set of series from the query are split into signals.
      - `label_names` string[] — Set of label names used to split series into signals. Each unique combination of labels result in its own signal. For example, if `label_names` is `["service", "code"]`, then all series including labels `{service="foo",code="404"}` will be grouped together in the same signal. Cannot be used if `graphite_query` is set.
      - `signal_per_series` boolean — If set to `true`, each series will have its own signal. Cannot be used with `label_names`.
    - `sli` Configv1SLI
      - `additional_promql_filters` CommonPromQLMatcher[] — Specifies additional PromQL filters, which are made available to the SLO queries. Use these filters to reduce the number of metrics used by the SLO.
        - `name` string — Prometheus label name for the matcher
        - `type` 'MatchEqual' | 'MatchRegexp' | 'MatchNotEqual' | 'MatchNotRegexp'
        - `value` string — Prometheus label value for the matcher
      - `custom_dimension_labels` string[] — Configures additional labels to export from the underlying queries. This feature provides a logical budget to group unique combinations of dimensions. For example, if you want to track a budget per endpoint, add the endpoint label as a dimension. These dimensions are provided on the top-level SLI so that SLOs will receive them in the `.GroupBy` variable.
      - `custom_indicator` SLICustomIndicatorConfig — Configuration for error ratio SLIs. You can include these variables in PromQL queries for SLIs: - `{{.Window}}`: Specifies the window of time that the PromQL query operates on. - `{{.GroupBy}}`: Specifies a comma-separated list of signal and dimension labels to group the results by. - `{{.AdditionalFilters}}`: Requires setting `additional_promql_filters`.
        - `bad_query_template` string — A PromQL query that measures the number of "bad" events for this SLI. Either this or `good_query_template` must be set.
        - `good_query_template` string — A PromQL query that measures the number of "good" events for this SLI. Either this or `bad_query_template` must be set.
        - `total_query_template` string, required — A PromQL query that measures the total number of events for this SLI. This is required for all error ratio SLOs.
      - `custom_timeslice_indicator` SLICustomTimeSliceIndicatorConfig — Defines the configuration for time slice SLIs. Time slice SLIs are evaluated by running a PromQL query over a certain time window and comparing the result against a condition. You can include these variables in PromQL queries for SLIs: - `{{.Window}}`: Specifies the window of time that the PromQL query operates on. - `{{.GroupBy}}`: Specifies a comma-separated list of signal and dimension labels to group the results by. - `{{.TimeSlice}}`: The time slice being evaluated, such as `1m` or `5m`. - `{{.AdditionalFilters}}`: Requires setting `additional_promql_filters`.
        - `condition` SLITimeSliceCondition — Defines the condition for evaluating time slice SLIs.
          - `op` 'GEQ' | 'GT' | 'LEQ' | 'LT' | 'EQ' | 'NEQ' | 'EXISTS' | 'NOT_EXISTS' | 'SIGNAL_NOT_EXISTS'
          - `value` number, double — The value to compare against.
        - `query_template` string — A PromQL query template for the time slice SLI.
        - `timeslice_size` 'TIMESLICE_SIZE_ONE_MINUTE' | 'TIMESLICE_SIZE_FIVE_MINUTES' — Defines the supported time slice sizes for time slice SLIs.
    - `slug` string — The unique identifier of the SLO. If a `slug` isn't provided, one is generated based on the `name` field. You can't modify this field after the SLO is created.
    - `updated_at` string, date-time — Timestamp of when the SLO was last updated. Cannot be set by clients.

## Other responses

- `500` — An unexpected error response.
- `default` — An undefined error response.

---

[API](https://skmtc.dev/chronosphere/apis/data-v1-api.md) · [All operations](https://skmtc.dev/chronosphere/apis/data-v1-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/chronosphere/data-v1-api/revisions/ee91fd539ced/schema)
