---
title: "GET /api/v1/config/recording-rules/{slug}"
method: GET
path: "/api/v1/config/recording-rules/{slug}"
tags: ["RecordingRule"]
---

# GET /api/v1/config/recording-rules/{slug}

`GET /api/v1/config/recording-rules/{slug}`

## Path parameters

- `slug` string, required

## Response `200`

A successful response.

- Configv1ReadRecordingRuleResponse
  - `recording_rule` Configv1RecordingRule
    - `bucket_slug` string — The slug of the bucket the recording rule belongs to. Required if `execution_group` is not set. If both `bucket_slug` and `execution_group` are set, their values must match.
    - `created_at` string, date-time — Timestamp of when the RecordingRule was created. Cannot be set by clients.
    - `execution_group` string — The slug of the execution group in which the recording rule will be evaluated. Rules in the same execution group run at intervals. All rules in a group must complete before the rules in that group run again. Required if `bucket_slug` isn't set. If both `bucket_slug` and `execution_group` are set, their values must match. Creating too many rules in an execution group can cause delays in execution of the next iteration. Chronosphere recommends limiting the number of rules in an execution group to 200-300 maximum.
    - `execution_mode` 'EXECUTION_MODE_SYNCHRONIZED' — ExecutionMode controls how a recording rule is assigned to shards for execution. - EXECUTION_MODE_SYNCHRONIZED: Synchronized: shard rule by execution group, which ensures that all synchronized rules in the same group execute on the same shard.
    - `interval_secs` integer — Specifies how often to evaluate the recording rule. Default: `60s`.
    - `label_policy` Configv1RecordingRuleLabelPolicy
      - `add` object — A list of labels to add or overwrite before storing the result.
    - `metric_name` string — The name of the time series to use for the output of `prometheus_expr`. This value must be a valid metric name. If you don't set this value, the output of `prometheus_expr` is output to a time series with a name defined by the value of `name`.
    - `name` string, required — The name of the RecordingRule. You can modify this value after the RecordingRule is created.
    - `prometheus_expr` string — The PromQL expression to evaluate at the time of each evaluation cycle. The result is output to a new time series with a name defined by the value of `metric_name`. If `metric_name` is unset, the result is output to a time series defined by the value of `name`.
    - `slug` string — The unique identifier of the RecordingRule. If a `slug` isn't provided, one is generated based on the `name` field. You can't modify this field after the RecordingRule is created.
    - `updated_at` string, date-time — Timestamp of when the RecordingRule was last updated. Cannot be set by clients.

## Other responses

- `404` — Cannot read the RecordingRule because the slug does not exist.
- `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)
