Chronosphere DerivedMetric API
The DerivedMetric API from Chronosphere — 2 operation(s) for derivedmetric.
The DerivedMetric API from Chronosphere — 2 operation(s) for derivedmetric.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/chronosphere-derivedmetric-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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