Chronosphere DerivedMetric API

The DerivedMetric API from Chronosphere — 2 operation(s) for derivedmetric.

Business capability
Observability Management BC-4220.20

Operations 5

GET /api/v1/config/derived-metrics List derived metrics #
POST /api/v1/config/derived-metrics Create derived metric #
DELETE /api/v1/config/derived-metrics/{slug} Delete derived metric #
GET /api/v1/config/derived-metrics/{slug} Read derived metric #
PUT /api/v1/config/derived-metrics/{slug} Update derived metric #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/chronosphere-derivedmetric-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

chronosphere-derivedmetric-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Chronosphere Derived Metric API
  version: v1
  description: 'Operations tagged DerivedMetric across 2 of this provider''s published API definitions: chronosphere-config-v1-openapi3.json, chronosphere-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{tenant}.chronosphere.io
  variables:
    tenant:
      default: tenant
      description: tenant ID assigned by the service provider
- url: /
tags:
- name: DerivedMetric
paths:
  /api/v1/config/derived-metrics:
    get:
      operationId: ListDerivedMetrics
      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 DerivedMetric 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 DerivedMetric 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1ListDerivedMetricsResponse'
          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.
      tags:
      - DerivedMetric
      security:
      - ApiKeyAuth: []
      summary: List derived metrics
      x-summary-source: derived
    post:
      operationId: CreateDerivedMetric
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/configv1CreateDerivedMetricRequest'
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1CreateDerivedMetricResponse'
          description: A successful response containing the created DerivedMetric.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot create the DerivedMetric because the request is invalid.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot create the DerivedMetric because there is a conflict with an existing DerivedMetric.
        '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.
      tags:
      - DerivedMetric
      security:
      - ApiKeyAuth: []
      summary: Create derived metric
      x-summary-source: derived
    servers:
    - url: https://{tenant}.chronosphere.io
      variables:
        tenant:
          default: tenant
          description: tenant ID assigned by the service provider
  /api/v1/config/derived-metrics/{slug}:
    delete:
      operationId: DeleteDerivedMetric
      parameters:
      - in: path
        name: slug
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1DeleteDerivedMetricResponse'
          description: A successful response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot delete the DerivedMetric because it is in use.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot delete the DerivedMetric 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.
      tags:
      - DerivedMetric
      security:
      - ApiKeyAuth: []
      summary: Delete derived metric
      x-summary-source: derived
    get:
      operationId: ReadDerivedMetric
      parameters:
      - in: path
        name: slug
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1ReadDerivedMetricResponse'
          description: A successful response.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot read the DerivedMetric 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.
      tags:
      - DerivedMetric
      security:
      - ApiKeyAuth: []
      summary: Read derived metric
      x-summary-source: derived
    put:
      operationId: UpdateDerivedMetric
      parameters:
      - in: path
        name: slug
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigV1UpdateDerivedMetricBody'
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1UpdateDerivedMetricResponse'
          description: A successful response containing the updated DerivedMetric.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot update the DerivedMetric because the request is invalid.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot update the DerivedMetric because the slug does not exist.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot update the DerivedMetric because there is a conflict with an existing DerivedMetric.
        '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.
      tags:
      - DerivedMetric
      security:
      - ApiKeyAuth: []
      summary: Update derived metric
      x-summary-source: derived
    servers:
    - url: https://{tenant}.chronosphere.io
      variables:
        tenant:
          default: tenant
          description: tenant ID assigned by the service provider
components:
  schemas:
    configv1CreateDerivedMetricRequest:
      properties:
        derived_metric:
          allOf:
          - $ref: '#/components/schemas/configv1DerivedMetric'
          description: The DerivedMetric to create.
        dry_run:
          description: If `true`, validates the specified configuration without creating the DerivedMetric. If the specified configuration is valid, the endpoint returns a partial response without the DerivedMetric. If the specified configuration is invalid, the endpoint returns an error.
          type: boolean
      type: object
    configv1DerivedMetricLabelMatcher:
      properties:
        name:
          description: name always matches against an exact label name.
          type: string
        type:
          allOf:
          - $ref: '#/components/schemas/configv1DerivedMetricLabelMatcherMatcherType'
          description: type determines how the label value is matched.
        value:
          description: value matches against a label value based on the configured type.
          type: string
      type: object
    DerivedMetricQuery:
      properties:
        prometheus_expr:
          description: 'PromQL expression the derived metric executes. The expression should

            include all configured variables.'
          example: cpu_usage{$service, $instance} / sum(cpu_usage{$service})
          type: string
        variables:
          description: 'Optional. Specifies the variables that can be used in the derived metric as

            label selectors.'
          items:
            $ref: '#/components/schemas/DerivedMetricVariable'
          type: array
      required:
      - prometheus_expr
      type: object
    configv1DeleteDerivedMetricResponse:
      type: object
    configv1ReadDerivedMetricResponse:
      properties:
        derived_metric:
          $ref: '#/components/schemas/configv1DerivedMetric'
      type: object
    configv1DerivedMetric:
      properties:
        created_at:
          description: Timestamp of when the DerivedMetric was created. Cannot be set by clients.
          format: date-time
          readOnly: true
          type: string
        description:
          description: Optional. Description of the derived metric.
          type: string
        metric_name:
          description: Name of the derived metric, which must be unique across the system.
          example: cpu_usage:instance
          type: string
        name:
          description: The name of the DerivedMetric. You can modify this value after the DerivedMetric is created.
          type: string
        queries:
          description: Defines the queries that the derived metric can map to.
          items:
            $ref: '#/components/schemas/DerivedMetricSelectorQuery'
          type: array
        slug:
          description: The unique identifier of the DerivedMetric. If a `slug` isn't provided, one is generated based on the `name` field. You can't modify this field after the DerivedMetric is created.
          type: string
        updated_at:
          description: Timestamp of when the DerivedMetric was last updated. Cannot be set by clients.
          format: date-time
          readOnly: true
          type: string
      required:
      - metric_name
      - name
      - queries
      type: object
    configv1DerivedMetricLabelMatcherMatcherType:
      enum:
      - EXACT
      type: string
    ConfigV1UpdateDerivedMetricBody:
      properties:
        create_if_missing:
          description: If `true`, the DerivedMetric will be created if it does not already exist, identified by `slug`. If `false`, an error will be returned if the DerivedMetric does not already exist.
          type: boolean
        derived_metric:
          allOf:
          - $ref: '#/components/schemas/configv1DerivedMetric'
          description: The DerivedMetric to update.
        dry_run:
          description: If `true`, validates the specified configuration without creating or updating the DerivedMetric. If the specified configuration is valid, the endpoint returns a partial response without the DerivedMetric. If the specified configuration is invalid, the endpoint returns an error.
          type: boolean
      type: object
    DerivedMetricVariable:
      properties:
        default_prometheus_selector:
          description: 'PromQL label selector, which must match the given variable name. If the

            variable is not specified in the derived metric usage, then the default

            selector is used.'
          example: service=~".*"
          type: string
        name:
          description: Name of the variable.
          example: service
          type: string
      required:
      - default_prometheus_selector
      - name
      type: object
    configv1CreateDerivedMetricResponse:
      properties:
        derived_metric:
          $ref: '#/components/schemas/configv1DerivedMetric'
      type: object
    genericError:
      additionalProperties: true
      type: object
    apiError:
      properties:
        message:
          description: An error message describing what went wrong.
          type: string
      type: object
    DerivedMetricSelectorQuery:
      properties:
        query:
          allOf:
          - $ref: '#/components/schemas/DerivedMetricQuery'
          description: The query to run when the selector matches.
        selector:
          allOf:
          - $ref: '#/components/schemas/DerivedMetricSelector'
          description: 'Optional. Defines the selection criteria to select which query to use for the

            given derived metric. If selector is empty, then the corresponding query is

            the default query used for the derived metric. Exactly one default query must

            be configured.'
      required:
      - query
      type: object
    DerivedMetricSelector:
      properties:
        labels:
          description: Labels that must match in the derived metric usage for the selector to match.
          items:
            $ref: '#/components/schemas/configv1DerivedMetricLabelMatcher'
          type: array
      type: object
    configv1UpdateDerivedMetricResponse:
      properties:
        derived_metric:
          $ref: '#/components/schemas/configv1DerivedMetric'
      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
    configv1ListDerivedMetricsResponse:
      properties:
        derived_metrics:
          items:
            $ref: '#/components/schemas/configv1DerivedMetric'
          type: array
        page:
          $ref: '#/components/schemas/configv1PageResult'
      type: object
    configv1CreateDerivedMetricRequest_2:
      type: object
      properties:
        derived_metric:
          $ref: '#/components/schemas/configv1DerivedMetric_2'
        dry_run:
          type: boolean
          description: If true, the DerivedMetric isn't created, and no response DerivedMetric will be returned. The response will return an error if the given DerivedMetric is invalid.
    configv1DerivedMetricLabelMatcher_2:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/configv1DerivedMetricLabelMatcherMatcherType'
        name:
          type: string
          description: name always matches against an exact label name.
        value:
          type: string
          description: value matches against a label value based on the configured type.
    DerivedMetricQuery_2:
      type: object
      properties:
        prometheus_expr:
          type: string
          description: 'Required PromQL expression which the derived metric executes. Should

            include all configured variables.'
          example: cpu_usage{$service, $instance} / sum(cpu_usage{$service})
        variables:
          type: array
          description: 'Optional variables which may be used in the derived metric as label

            selectors.'
          items:
            $ref: '#/components/schemas/DerivedMetricVariable_2'
    configv1DerivedMetric_2:
      type: object
      properties:
        name:
          type: string
          description: Required. Name of the DerivedMetric. You can modify this value after the DerivedMetric is created.
        slug:
          type: string
          description: Unique identifier of the DerivedMetric. If a `slug` isn't provided, one will be generated based of the `name` field. You can't modify this field after the DerivedMetric is created.
        created_at:
          type: string
          description: Timestamp of when the DerivedMetric was created. Cannot be set by clients.
          format: date-time
          readOnly: true
        updated_at:
          type: string
          description: Timestamp of when the DerivedMetric was last updated. Cannot be set by clients.
          format: date-time
          readOnly: true
        metric_name:
          type: string
          description: Required metric name of the derived metric, which must be unique across the system.
          example: cpu_usage:instance
        description:
          type: string
          description: Optional description of the derived metric.
        queries:
          type: array
          description: Required queries that the derived metric can map to.
          items:
            $ref: '#/components/schemas/DerivedMetricSelectorQuery_2'
    ConfigV1UpdateDerivedMetricBody_2:
      type: object
      properties:
        derived_metric:
          $ref: '#/components/schemas/configv1DerivedMetric_2'
        create_if_missing:
          type: boolean
          description: If true, the DerivedMetric will be created if it does not already exist, identified by slug. If false, an error will be returned if the DerivedMetric does not already exist.
        dry_run:
          type: boolean
          description: If true, the DerivedMetric isn't created or updated, and no response DerivedMetric will be returned. The response will return an error if the given DerivedMetric is invalid.
    DerivedMetricVariable_2:
      type: object
      properties:
        name:
          type: string
          description: Required name of the variable.
          example: service
        default_prometheus_selector:
          type: string
          description: 'Required PromQL label selector which must match the given variable name.

            If the variable is not specified in the derived metric usage, then this

            default selector is used.'
          example: service=~".*"
    apiError_2:
      type: object
      properties:
        code:
          type: integer
          description: An optional private error code whose values are undefined.
          format: int32
        message:
          type: string
          description: An error message describing what went wrong.
    DerivedMetricSelectorQuery_2:
      type: object
      properties:
        selector:
          $ref: '#/components/schemas/DerivedMetricSelector_2'
        query:
          $ref: '#/components/schemas/DerivedMetricQuery_2'
    DerivedMetricSelector_2:
      type: object
      properties:
        labels:
          type: array
          description: 'Labels which must match in the derived metric usage for the selector to

            match.'
          items:
            $ref: '#/components/schemas/configv1DerivedMetricLabelMatcher_2'
    configv1PageResult_2:
      type: object
      properties:
        next_token:
          type: string
          description: 'Opaque page token which identifies the next page of items which the

            client should request. An empty next_token indicates that there are no

            more items to return.'
  securitySchemes:
    ApiKeyAuth:
      description: Chronosphere API token
      in: header
      name: API-Token
      type: apiKey
x-refined-from:
- chronosphere-config-v1-openapi3.json
- chronosphere-openapi.yml