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

# ListTraceMetricsRules



## OpenAPI

````yaml openapi/api_v1_config_openapi3_DOCUMENTATION_ONLY.json GET /api/v1/config/trace-metrics-rules
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/trace-metrics-rules:
    get:
      tags:
        - TraceMetricsRule
      operationId: ListTraceMetricsRules
      parameters:
        - description: >-
            Sets the preferred number of items to return per page. If set to
            `0`, the

            server will use its default value. Regardless of the value
            specified, clients

            must never assume how many items will be returned.
          in: query
          name: page.max_size
          schema:
            format: int64
            type: integer
        - description: >-
            An opaque page token that identifies which page the client should
            request.

            An empty value indicates the first page.
          in: query
          name: page.token
          schema:
            type: string
        - description: >-
            Filters results by slug, where any TraceMetricsRule with a matching
            slug in the given list (and matches all other filters) will be
            returned.
          in: query
          name: slugs
          schema:
            items:
              type: string
            type: array
        - description: >-
            Filters results by name, where any TraceMetricsRule with a matching
            name in the given list (and matches all other filters) will be
            returned.
          in: query
          name: names
          schema:
            items:
              type: string
            type: array
        - description: Get trace metric rules by name.
          in: query
          name: metric_names
          schema:
            items:
              type: string
            type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1ListTraceMetricsRulesResponse'
          description: A successful response.
        '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:
    configv1ListTraceMetricsRulesResponse:
      properties:
        page:
          $ref: '#/components/schemas/configv1PageResult'
        trace_metrics_rules:
          description: Found trace metrics rules.
          items:
            $ref: '#/components/schemas/configv1TraceMetricsRule'
          type: array
      type: object
    apiError:
      properties:
        message:
          description: An error message describing what went wrong.
          type: string
      type: object
    genericError:
      additionalProperties: true
      type: object
    configv1PageResult:
      properties:
        next_token:
          description: |-
            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.
          type: string
      type: object
    configv1TraceMetricsRule:
      properties:
        created_at:
          description: >-
            Timestamp of when the TraceMetricsRule was created. Cannot be set by
            clients.
          format: date-time
          readOnly: true
          type: string
        group_by:
          description: >-
            Add labels to the resultant metrics based on the specified key:value
            pairs.
          items:
            $ref: '#/components/schemas/configv1TraceMetricsRuleGroupBy'
          type: array
        histogram_buckets_secs:
          description: Histogram bucket values, in seconds, for generated duration metrics.
          items:
            format: double
            type: number
          type: array
        metric_labels:
          additionalProperties:
            type: string
          description: Labels to apply to the generated trace metrics.
          type: object
        metric_name:
          description: The name of the generated trace metrics.
          type: string
        name:
          description: >-
            The name of the TraceMetricsRule. You can modify this value after
            the TraceMetricsRule is created.
          type: string
        scope_filter:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterScopeFilter'
          description: >-
            Scope filter to determine which spans should be counted for metrics
            generation.

            Only spans matching the scope filter will contribute to trace
            metrics.
        slug:
          description: >-
            The unique identifier of the TraceMetricsRule. If a `slug` isn't
            provided, one is generated based on the `name` field. You can't
            modify this field after the TraceMetricsRule is created.
          type: string
        trace_filter:
          allOf:
            - $ref: '#/components/schemas/configv1TraceSearchFilter'
          description: Filter that defines traces that should yield the defined metrics.
        updated_at:
          description: >-
            Timestamp of when the TraceMetricsRule was last updated. Cannot be
            set by clients.
          format: date-time
          readOnly: true
          type: string
      required:
        - name
      type: object
    configv1TraceMetricsRuleGroupBy:
      description: >-
        GroupBy contains fields required to group the resultant metrics of a
        TraceMetricsRule by a specific key.
      properties:
        key:
          allOf:
            - $ref: '#/components/schemas/GroupByGroupByKey'
          description: The key to group by.
        label:
          description: The label to use in the resulting metrics.
          type: string
      type: object
    TraceSearchFilterScopeFilter:
      properties:
        span_scopes:
          description: >-
            Specifies the span filters that define which spans contribute to the
            metrics calculation.

            Only spans matching these filters will be included in the metrics
            aggregation.
          items:
            $ref: '#/components/schemas/TraceSearchFilterSpanFilter'
          type: array
      type: object
    configv1TraceSearchFilter:
      properties:
        scope_filter:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterScopeFilter'
          description: >-
            Scope filter that defines which spans within matching traces
            contribute to metrics calculation.
        span:
          description: >-
            Specifies the span conditions to match on. All conditions must be
            true in a

            single span for the span to be considered a match. If `span_count`
            is specified,

            the number of spans within the trace that match span conditions must
            be within

            `[min, max]`. You can specify multiple span conditions, and each can
            be

            satisfied by any number of spans within the trace.
          items:
            $ref: '#/components/schemas/TraceSearchFilterSpanFilter'
          type: array
        trace:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterTraceFilter'
          description: Trace-level filter criteria (effectively matching the root span).
      type: object
    GroupByGroupByKey:
      description: GroupByKey describes a key to group by.
      properties:
        named_key:
          description: >-
            For named key types, such as span tags, indicates the name of the
            key to

            group by.
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/GroupByKeyGroupByKeyType'
          description: Type of key to group by.
      type: object
    TraceSearchFilterSpanFilter:
      properties:
        duration:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterDurationFilter'
          description: Matches the duration of the candidate span.
        error:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterBoolFilter'
          description: Matches the error status of the candidate span.
        is_root_span:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterBoolFilter'
          description: >-
            Matches the root span of a trace. For example, if the parent span
            has no child

            spans.
        match_type:
          allOf:
            - $ref: '#/components/schemas/SpanFilterSpanFilterMatchType'
          description: >-
            If `INCLUDE`, includes all traces that have at least one (or
            `span_count`)

            spans matching the query. If `EXCLUDE`, excludes all traces that
            have at least

            one (or `span_count`) spans matching the query.
        operation:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterStringFilter'
          description: Matches the operation of the candidate span.
        parent_operation:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterStringFilter'
          description: >-
            If not a root span, matches the operation of the candidate span's
            parent span
        parent_service:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterStringFilter'
          description: >-
            If not a root span, matches the service of the candidate span's
            parent span.
        service:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterStringFilter'
          description: Matches the service of the candidate span.
        span_count:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterCountFilter'
          description: >-
            Defines the number of spans that must match the criteria defined by
            the span

            query. Defaults to requiring that at least one span matches the span
            query.
        tags:
          description: Matches the tags of the candidate span.
          items:
            $ref: '#/components/schemas/TraceSearchFilterTagFilter'
          type: array
      type: object
    TraceSearchFilterTraceFilter:
      properties:
        duration:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterDurationFilter'
          description: Matches traces based on the duration of the entire trace.
        error:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterBoolFilter'
          description: Matches traces based on the top-level error status.
      type: object
    GroupByKeyGroupByKeyType:
      description: |2-
         - SERVICE: The service to group by.
         - OPERATION: The operation to group by.
         - TAG: The span tag to group by.
         - PARENT_SERVICE: The parent service to group by.
         - PARENT_OPERATION: The parent operation to group by.
         - ROOT_SERVICE: The root service to group by.
         - ROOT_OPERATION: The root operation to group by.
      enum:
        - SERVICE
        - OPERATION
        - TAG
        - PARENT_SERVICE
        - PARENT_OPERATION
        - ROOT_SERVICE
        - ROOT_OPERATION
      type: string
    TraceSearchFilterDurationFilter:
      properties:
        max_secs:
          description: Maximum duration, in seconds, required for a span or trace to match.
          format: double
          type: number
        min_secs:
          description: Minimum duration, in seconds, required for a span or trace to match.
          format: double
          type: number
      type: object
    TraceSearchFilterBoolFilter:
      properties:
        value:
          description: The value of the filter compared to the target trace or span field.
          type: boolean
      type: object
    SpanFilterSpanFilterMatchType:
      enum:
        - INCLUDE
        - EXCLUDE
      type: string
    TraceSearchFilterStringFilter:
      properties:
        in_values:
          description: >-
            Values the filter tests against when using `IN` or `NOT_IN` match
            type.
          items:
            type: string
          type: array
        match:
          allOf:
            - $ref: '#/components/schemas/StringFilterStringFilterMatchType'
          description: >-
            Specifies the comparison operator for the query. If `EXACT`,
            compared strings

            must have the exact value of the query value.
        value:
          description: The value of the filter compared to the target trace or span field.
          type: string
      type: object
    TraceSearchFilterCountFilter:
      properties:
        max:
          description: Maximum number of spans that must match a span query, inclusive.
          format: int32
          type: integer
        min:
          description: Minimum number of spans that must match a span query, inclusive.
          format: int32
          type: integer
      type: object
    TraceSearchFilterTagFilter:
      properties:
        key:
          description: The key or name of the span tag that this filter inspects.
          type: string
        numeric_value:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterNumericFilter'
          description: >-
            If the query matches the tag with the specified key, and the value
            type is

            `numeric`, specifies the matcher used to evaluate the span tag
            value.
        value:
          allOf:
            - $ref: '#/components/schemas/TraceSearchFilterStringFilter'
          description: >-
            If the query matches the tag with the specified key, and the value
            type is a

            `string`, specifies the matcher used to evaluate the span tag value.
      type: object
    StringFilterStringFilterMatchType:
      enum:
        - EXACT
        - REGEX
        - EXACT_NEGATION
        - REGEX_NEGATION
        - IN
        - NOT_IN
      type: string
    TraceSearchFilterNumericFilter:
      properties:
        comparison:
          allOf:
            - $ref: '#/components/schemas/NumericFilterComparisonType'
          description: >-
            The comparison operation to apply to an input against the given
            query value.
        value:
          description: The filter value used in comparison against match candidates.
          format: double
          type: number
      type: object
    NumericFilterComparisonType:
      enum:
        - EQUAL
        - NOT_EQUAL
        - GREATER_THAN
        - GREATER_THAN_OR_EQUAL
        - LESS_THAN
        - LESS_THAN_OR_EQUAL
      type: string
  securitySchemes:
    ApiKeyAuth:
      description: Chronosphere API token
      in: header
      name: API-Token
      type: apiKey

````