Chronosphere · Schema

ConfigV1UpdateDerivedMetricBody

ObservabilityAIOpsMonitoringMetricsLoggingDistributed TracingTelemetryOpenTelemetryPrometheusAlertingSLOInfrastructure as CodeMCPAgent ReadyA2A

Properties

Name Type Description
create_if_missing boolean 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.
derived_metric object The DerivedMetric to update.
dry_run boolean 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 DerivedMet
View JSON Schema on GitHub

JSON Schema

chronosphere-config-v1-update-derived-metric-body-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/chronosphere/main/json-schema/chronosphere-config-v1-update-derived-metric-body-schema.json",
  "title": "ConfigV1UpdateDerivedMetricBody",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/chronosphere-derivedmetric-api-openapi.yml#/components/schemas/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": "#/$defs/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",
  "$defs": {
    "DerivedMetricQuery": {
      "properties": {
        "prometheus_expr": {
          "description": "PromQL expression the derived metric executes. The expression should\ninclude all configured variables.",
          "type": "string"
        },
        "variables": {
          "description": "Optional. Specifies the variables that can be used in the derived metric as\nlabel selectors.",
          "items": {
            "$ref": "#/$defs/DerivedMetricVariable"
          },
          "type": "array"
        }
      },
      "required": [
        "prometheus_expr"
      ],
      "type": "object"
    },
    "DerivedMetricSelector": {
      "properties": {
        "labels": {
          "description": "Labels that must match in the derived metric usage for the selector to match.",
          "items": {
            "$ref": "#/$defs/configv1DerivedMetricLabelMatcher"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DerivedMetricSelectorQuery": {
      "properties": {
        "query": {
          "allOf": [
            {
              "$ref": "#/$defs/DerivedMetricQuery"
            }
          ],
          "description": "The query to run when the selector matches."
        },
        "selector": {
          "allOf": [
            {
              "$ref": "#/$defs/DerivedMetricSelector"
            }
          ],
          "description": "Optional. Defines the selection criteria to select which query to use for the\ngiven derived metric. If selector is empty, then the corresponding query is\nthe default query used for the derived metric. Exactly one default query must\nbe configured."
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "DerivedMetricVariable": {
      "properties": {
        "default_prometheus_selector": {
          "description": "PromQL label selector, which must match the given variable name. If the\nvariable is not specified in the derived metric usage, then the default\nselector is used.",
          "type": "string"
        },
        "name": {
          "description": "Name of the variable.",
          "type": "string"
        }
      },
      "required": [
        "default_prometheus_selector",
        "name"
      ],
      "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.",
          "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": "#/$defs/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"
    },
    "configv1DerivedMetricLabelMatcher": {
      "properties": {
        "name": {
          "description": "name always matches against an exact label name.",
          "type": "string"
        },
        "type": {
          "allOf": [
            {
              "$ref": "#/$defs/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"
    },
    "configv1DerivedMetricLabelMatcherMatcherType": {
      "enum": [
        "EXACT"
      ],
      "type": "string"
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/chronosphere-config-v1-update-derived-metric-body"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.