> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chronosphere.io/llms.txt
> Use this file to discover all available pages before exploring further.

# ReadMonitor



## OpenAPI

````yaml openapi/api_v1_config_openapi3_DOCUMENTATION_ONLY.json GET /api/v1/config/monitors/{slug}
openapi: 3.0.3
info:
  description: >

    The Config API provides standard HTTP/JSON REST endpoints for creating,
    reading,

    updating, deleting, and listing configurable Chronosphere resources.


    Use this link to download the raw Swagger specification:

    <a href="/api/v1/config/swagger.json">/api/v1/config/swagger.json</a>
  title: Config V1 API
  version: v1
servers:
  - url: https://{tenant}.chronosphere.io
    variables:
      tenant:
        default: tenant
        description: tenant ID assigned by the service provider
security:
  - ApiKeyAuth: []
tags:
  - name: ConfigV1
paths:
  /api/v1/config/monitors/{slug}:
    get:
      tags:
        - Monitor
      operationId: ReadMonitor
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1ReadMonitorResponse'
          description: A successful response.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot read the Monitor because the slug does not exist.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: An unexpected error response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericError'
          description: An undefined error response.
components:
  schemas:
    configv1ReadMonitorResponse:
      properties:
        monitor:
          $ref: '#/components/schemas/configv1Monitor'
      type: object
    apiError:
      properties:
        message:
          description: An error message describing what went wrong.
          type: string
      type: object
    genericError:
      additionalProperties: true
      type: object
    configv1Monitor:
      properties:
        annotations:
          additionalProperties:
            type: string
          description: |-
            Annotations are visible in notifications generated by this monitor.
            They can be be templated with labels from notifications.
          type: object
        bucket_slug:
          description: >-
            Slug of the bucket the monitor belongs to. Required if
            `collection_slug` isn't

            set.
          type: string
        collection:
          allOf:
            - $ref: '#/components/schemas/configv1CollectionReference'
          description: >-
            Collection that the monitor belongs to. Required if `bucket_slug`
            and

            `collection_slug` aren't set.
        collection_slug:
          description: >-
            Slug of the collection the monitor belongs to. Required if
            `bucket_slug` isn't

            set.
          type: string
        created_at:
          description: Timestamp of when the Monitor was created. Cannot be set by clients.
          format: date-time
          readOnly: true
          type: string
        graphite_query:
          description: >-
            Graphite query to evaluate for the alert. If set, no other queries
            can be set.
          example: sumSeries(stats.timers.*.mean_90)
          type: string
        interval_secs:
          description: 'Specifies how often alerts are evaluated. Default: `60s`.'
          format: int32
          type: integer
        labels:
          additionalProperties:
            type: string
          description: >-
            Required. Labels to include in notifications generated by this
            monitor, and can

            be used to route alerts with notification overrides.
          type: object
        logging_query:
          description: >-
            Logging query to evaluate for the alert. If set, no other queries
            can be set.
          type: string
        name:
          description: >-
            The name of the Monitor. You can modify this value after the Monitor
            is created.
          type: string
        notification_policy_slug:
          description: >-
            Specifies the notification policy used to route alerts generated by
            the monitor.

            If omitted, the notification policy is inherited from the monitor.
          type: string
        notification_template:
          allOf:
            - $ref: '#/components/schemas/MonitorNotificationTemplate'
          description: >-
            Optional Go templates for customizing notification title and
            description.

            Templates are expanded at notification time with alert context.


            Available template variables:
              - `.Severity` — alert severity (`"critical"` or `"warn"`)
              - `.Status` — `"firing"` or `"resolved"`
              - `.Labels.<name>` — signal labels (e.g. `.Labels.env`)
              - `.Threshold` — threshold value for the active severity
              - `.ThresholdOp` — threshold comparison operator (e.g. `">="`, `"<"`)
              - `.ResolveThreshold` — effective resolve threshold; defaults to `.Threshold` when no separate resolve threshold is configured
              - `.StartsAtEpoch` — start time of the earliest alert in `.Alerts`, in epoch milliseconds
              - `.Alerts` — list of alerts in this notification group; each alert has:
                - `.Status` — `"firing"` or `"resolved"`
                - `.Labels` — per-alert labels
                - `.Annotations` — per-alert annotations
                - `.Threshold` / `.ThresholdOp` / `.ResolveThreshold` — per-alert threshold fields
                - `.StartsAt` / `.EndsAt` — timestamps
              - `.Alerts.Firing` / `.Alerts.Resolved` — filtered subsets

            Available template functions:
              - `add`, `sub`, `mul` — integer arithmetic
              - `toUpper`, `toLower`, `title` — string casing
              - `match` — regexp matching
              - `join` — join a string slice with a separator
              - `reReplaceAll` — regexp replace
          example: >-
            {"title": "[{{.Severity}}] {{.Labels.service}} threshold exceeded",
            "description": "{{.Labels.env}} crossed {{.ThresholdOp}}
            {{.Threshold}}"}
        prometheus_query:
          description: >-
            PromQL query to evaluate for the alert. If set, no other queries can
            be set.
          example: up{job="prometheus"} == 0
          type: string
        schedule:
          allOf:
            - $ref: '#/components/schemas/MonitorSchedule'
          description: >-
            Defines the schedule for when the monitor should be evaluated. If
            not set, the

            monitor defaults to always being active.
        series_conditions:
          allOf:
            - $ref: '#/components/schemas/MonitorSeriesConditions'
          description: >-
            Required. Conditions to determine the severity of each series. The
            highest

            severity series of a signal determines that signal's severity.
        signal_grouping:
          allOf:
            - $ref: '#/components/schemas/MonitorSignalGrouping'
          description: >-
            Specifies the grouping of series into signals. If omitted, all
            series are

            grouped into a single signal.
        slug:
          description: >-
            The unique identifier of the Monitor. If a `slug` isn't provided,
            one is generated based on the `name` field. You can't modify this
            field after the Monitor is created.
          type: string
        updated_at:
          description: >-
            Timestamp of when the Monitor was last updated. Cannot be set by
            clients.
          format: date-time
          readOnly: true
          type: string
      required:
        - name
      type: object
    configv1CollectionReference:
      properties:
        slug:
          type: string
        type:
          $ref: '#/components/schemas/configv1CollectionReferenceType'
      type: object
    MonitorNotificationTemplate:
      properties:
        description:
          description: Go template for the alert description.
          type: string
        title:
          description: Go template for the alert title.
          type: string
      type: object
    MonitorSchedule:
      properties:
        timezone:
          description: The timezone of the time ranges.
          type: string
        weekly_schedule:
          allOf:
            - $ref: '#/components/schemas/ScheduleWeeklySchedule'
          description: >-
            Specifies the monitor schedule for each day of the week. You must
            include

            every day of the week. Specify `active: NEVER` for days when you
            don't want

            the monitor to be active.
      type: object
    MonitorSeriesConditions:
      description: >-
        Conditions evaluated against each queried series to determine the
        severity of each series.
      properties:
        defaults:
          allOf:
            - $ref: '#/components/schemas/SeriesConditionsSeverityConditions'
          description: >-
            Mapping of alert severity to its conditions. All conditions are

            evaluated for every series. If multiple conditions match, the
            highest

            severity is chosen.
        overrides:
          description: >-
            Optional. Specifies a list of overrides to use for series having
            matching

            labels. Each override defines labels that potentially match a
            series' labels.

            If one or more overrides match a series, the severity conditions of
            the first

            matching override are used instead of the defaults.


            Cannot be used if `graphite_query` is set.
          items:
            $ref: '#/components/schemas/MonitorSeriesConditionsOverride'
          type: array
      type: object
    MonitorSignalGrouping:
      description: >-
        SignalGrouping defines how the set of series from the query are split
        into signals.
      properties:
        label_names:
          description: >-
            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.
          items:
            type: string
          type: array
        signal_per_series:
          description: >-
            If set to `true`, each series will have its own signal. Cannot be
            used with

            `label_names`.
          type: boolean
      type: object
    configv1CollectionReferenceType:
      enum:
        - SIMPLE
        - SERVICE
      title: Type values must match entitiespb.Collection.CollectionType.
      type: string
    ScheduleWeeklySchedule:
      properties:
        friday:
          $ref: '#/components/schemas/ScheduleScheduleDay'
        monday:
          $ref: '#/components/schemas/ScheduleScheduleDay'
        saturday:
          $ref: '#/components/schemas/ScheduleScheduleDay'
        sunday:
          $ref: '#/components/schemas/ScheduleScheduleDay'
        thursday:
          $ref: '#/components/schemas/ScheduleScheduleDay'
        tuesday:
          $ref: '#/components/schemas/ScheduleScheduleDay'
        wednesday:
          $ref: '#/components/schemas/ScheduleScheduleDay'
      type: object
    SeriesConditionsSeverityConditions:
      properties:
        critical:
          allOf:
            - $ref: '#/components/schemas/SeriesConditionsConditions'
          description: >-
            Defines the criteria that must be met to trigger a critical
            condition.
        warn:
          allOf:
            - $ref: '#/components/schemas/SeriesConditionsConditions'
          description: >-
            Defines the criteria that must be met to trigger a warning
            condition.
      type: object
    MonitorSeriesConditionsOverride:
      properties:
        label_matchers:
          description: >-
            Set of matchers on a series' labels. If all labels match, then the
            conditions

            defined in this override are used.
          items:
            $ref: '#/components/schemas/configv1LabelMatcher'
          type: array
        severity_conditions:
          allOf:
            - $ref: '#/components/schemas/SeriesConditionsSeverityConditions'
          description: >-
            Mapping of alert severity to its conditions for series that match
            this

            override. These conditions supersede the default conditions, and are
            not

            merged with the default conditions.
      type: object
    ScheduleScheduleDay:
      properties:
        active:
          allOf:
            - $ref: '#/components/schemas/ScheduleDayActive'
          description: >-
            Determines when the monitor is active for the specified day. Accepts
            these

            values:

            - `ALL_DAY`: The monitor is active all day.

            - `ONLY_DURING_RANGES`: The monitor is only active during the given
            ranges.

            - `NEVER`: The monitor is never active during the selected day.
        ranges:
          description: >-
            The time ranges that the monitor is active on this day. Required if
            `active`

            is set to `ONLY_DURING_RANGES`. Otherwise, this field must be empty.
          items:
            $ref: '#/components/schemas/ScheduleDayTimeRange'
          type: array
      type: object
    SeriesConditionsConditions:
      properties:
        conditions:
          description: >-
            List of conditions to evaluate against a series. Only one condition
            must

            match to assign a severity to a signal.
          items:
            $ref: '#/components/schemas/configv1MonitorCondition'
          type: array
      type: object
    configv1LabelMatcher:
      properties:
        name:
          description: >-
            The name of the label to match against. This always matches against
            an

            exact label name, regardless of the value of `type`.
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/configv1LabelMatcherMatcherType'
          description: |-
            Determines how the label `value` is matched. This parameter doesn't
            affect how the label `name` is matched.
        value:
          description: >-
            The value of the label to match against. If `type` is set to
            `EXACT`, this

            matches against an exact label value. If `type` is set to `REGEX`,
            this

            parameter is treated as a regular expression for parsing label
            values.
          type: string
      type: object
    ScheduleDayActive:
      enum:
        - ALL_DAY
        - ONLY_DURING_RANGES
        - NEVER
      type: string
    ScheduleDayTimeRange:
      properties:
        end_hh_mm:
          description: >-
            End time in the in format `"<hour>:<minute>"`. For example,
            `"15:30"`.
          type: string
        start_hh_mm:
          description: >-
            Start time in the in format `"<hour>:<minute>"`. For example,
            `"15:30"`.
          type: string
      type: object
    configv1MonitorCondition:
      properties:
        op:
          allOf:
            - $ref: '#/components/schemas/ConditionOp'
          description: >-
            Required. Specifies the comparison operator for the metric value and
            the configured

            value:

            - `GEQ`: Greater than or equal to

            - `GT`: Greater than

            - `LEQ`: Less than or equal to

            - `LT`: Less than

            - `EQ`: Equal to

            - `NEQ`: Not equal to

            - `EXISTS`: Specified value exists

            - `NOT_EXISTS`: Specified value doesn't exist

            - `SIGNAL_NOT_EXISTS`: Signal no longer exists. Behavior varies by
            alert type:
              single monitor alerts trigger if all series are missing; signal-based alerts
              trigger if all series in the signal go missing; alert-on-every-series alerts
              trigger if any individual series disappears.
        resolve_sustain_secs:
          description: >-
            Amount of time the query needs to no longer fire before resolving.
            Must be an

            integer. Accepts one of `s` (seconds), `m` (minutes), or `h` (hours)
            as units.
          format: int32
          type: integer
        resolve_value:
          allOf:
            - $ref: '#/components/schemas/configv1OptionalDouble'
          description: >-
            Value the query must reach to resolve the alert. When enabled is
            true,

            the alert resolves when the query reaches the specified value
            instead of

            when the triggering condition is no longer true.
        sustain_secs:
          description: >-
            Amount of time the query needs to fail the condition check before an
            alert is

            triggered. Must be an integer. Accepts one of `s` (seconds), `m`
            (minutes), or

            `h` (hours) as units.
          format: int32
          type: integer
        value:
          description: >-
            Required. The value to compare to the metric value using the `op`
            operation.
          format: double
          type: number
      type: object
    configv1LabelMatcherMatcherType:
      enum:
        - EXACT
        - REGEX
      type: string
    ConditionOp:
      enum:
        - GEQ
        - GT
        - LEQ
        - LT
        - EQ
        - NEQ
        - EXISTS
        - NOT_EXISTS
        - SIGNAL_NOT_EXISTS
      type: string
    configv1OptionalDouble:
      properties:
        enabled:
          description: Whether the value is enabled.
          type: boolean
        value:
          description: The configured value, which is ignored if enabled is false.
          format: double
          type: number
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: Chronosphere API token
      in: header
      name: API-Token
      type: apiKey

````