ilert Metrics API

The Metrics API from ilert — 2 operation(s) for metrics.

Operations 5

GET /metrics Get metrics.
POST /metrics Create a new metric.
GET /metrics/{id} Get a specific Metric
PUT /metrics/{id} Update the specific Metric
DELETE /metrics/{id} Delete the specific 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/ilert-metrics-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

ilert-metrics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ilert REST Alert Actions Metrics API
  description: "# Introduction\nThe ilert API is a [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API and provides programmatic access to entities in ilert and lets you easily integrate ilert with 3rd party tools. If you are looking to develop an inbound integration (e.g. for a monitoring tool), please use our [Events API](#tag/events). \n\nThe API supports the JSON content type for requests and responses. The response content type is requested via the HTTP Accept header (`application/json`). All resources are accessible via https and are located at `api.ilert.com/api`. \n\n You may download ilert's latest [OpenAPI.json {...} here](https://api.ilert.com/api-docs/openapi.json).\n\n If you are looking for a classic Swagger-UI view you may also open [this link](https://api.ilert.com/api-docs/swagger-ui). \n\n ## Authentication\nThe REST API accepts bearer API tokens. Each user may create API keys using the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. `Bearer APIKEY` when sending api key requests. By default, access to all resources (using any method) requires the client to be authenticated.\n\n ## Team Context\n When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team.  \n\n ## Errors\nilert uses HTTP response codes to indicate success or failure of an API request. Codes in the 2xx range indicate success, codes in the 4xx range indicate a client error (e.g. a missing required parameter) and codes in the 5xx range indicate an error with ilert's servers. In case of an error, the response body contains the following information:\n\n Attribute     | Description \n ------------- | ------------- \n status  | the corresponsing HTTP status code  \n message  | a human readable description of the error \n code  | error code, used to identify error type  \n\n ## API Versioning\nChanges to our API are always backwards-compatible. To get more information about our API versioning and historical changes, please <a href='https://docs.ilert.com/rest-api/api-version-history' target='_blank'>take a look here</a>."
  version: v2.2026.5-r.3
  x-logo:
    url: ./ilert-logo-spaced.png
    backgroundColor: '#fafafa'
    altText: ilert documentation logo
servers:
- url: /api
security:
- apiKey: []
tags:
- name: Metrics
paths:
  /metrics:
    get:
      tags:
      - Metrics
      summary: Get metrics.
      parameters:
      - name: start-index
        in: query
        description: an integer specifying the starting point (beginning with 0) when paging through a list of entities
        schema:
          type: integer
          format: int32
          default: 0
      - name: max-results
        in: query
        description: 'the maximum number of results when paging through a list of metrics. (Note: when using ?include maximum is reduced to 25)'
        schema:
          maximum: 100
          type: integer
          format: int32
          default: 10
      - name: include
        in: query
        description: Describes optional properties that should be included in the response. You may declare multiple. (dataSource, integrationKey)
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - dataSource
            - integrationKey
      responses:
        '200':
          description: The metrics
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MetricList'
    post:
      tags:
      - Metrics
      summary: Create a new metric.
      requestBody:
        description: The metric
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricPost'
        required: true
      responses:
        '200':
          description: The newly created metric
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metric'
      x-codegen-request-body-name: metric
  /metrics/{id}:
    get:
      tags:
      - Metrics
      summary: Get a specific Metric
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      responses:
        '200':
          description: The requested metric
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metric'
    put:
      tags:
      - Metrics
      summary: Update the specific Metric
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      requestBody:
        description: The metric
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricPost'
        required: true
      responses:
        '200':
          description: The updated metric
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metric'
      x-codegen-request-body-name: metric
    delete:
      tags:
      - Metrics
      summary: Delete the specific Metric
      parameters:
      - name: id
        in: path
        description: entity ID
        required: true
        schema:
          type: number
      responses:
        '204':
          description: Empty body delete response
          content: {}
components:
  schemas:
    MetricDataSourceType:
      type: string
      enum:
      - DATADOG
      - PROMETHEUS
    MetricPost:
      required:
      - aggregationType
      - displayType
      - name
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        aggregationType:
          $ref: '#/components/schemas/MetricAggregationType'
        displayType:
          $ref: '#/components/schemas/MetricDisplayType'
        interpolateGaps:
          type: boolean
          default: false
        lockYAxisMax:
          type: number
          format: double
        lockYAxisMin:
          type: number
          format: double
        mouseOverDecimal:
          maximum: 6
          minimum: 0
          type: number
          format: int32
        showValuesOnMouseOver:
          type: boolean
          default: false
        teams:
          type: array
          items:
            $ref: '#/components/schemas/TeamRel'
        unitLabel:
          type: string
        metadata:
          $ref: '#/components/schemas/MetricMetadata'
        dataSource:
          type: object
          properties:
            id:
              type: number
              description: dataSource is required when providing metadata
    MetricList:
      type: object
      properties:
        id:
          type: number
        name:
          type: string
        description:
          type: string
        aggregationType:
          $ref: '#/components/schemas/MetricAggregationType'
        displayType:
          $ref: '#/components/schemas/MetricDisplayType'
        interpolateGaps:
          type: boolean
          default: false
        lockYAxisMax:
          type: number
          format: double
        lockYAxisMin:
          type: number
          format: double
        mouseOverDecimal:
          maximum: 6
          minimum: 0
          type: number
          format: int32
        showValuesOnMouseOver:
          type: boolean
          default: false
        teams:
          type: array
          items:
            $ref: '#/components/schemas/TeamRel'
        unitLabel:
          type: string
        integrationKey:
          type: string
        dataSource:
          $ref: '#/components/schemas/MetricDataSourceNoIncludes'
    MParamsPrometheus:
      required:
      - authType
      - url
      type: object
      properties:
        url:
          type: string
        authType:
          type: string
          enum:
          - NONE
          - BASIC
          - HEADER
        basicUser:
          type: string
          description: Optional, required for 'BASIC'
        basicPass:
          type: string
          description: Optional, required for 'BASIC'
        headerKey:
          type: string
          description: Optional, required for 'HEADER'
        headerValue:
          type: string
          description: Optional, required for 'HEADER'
    MetricDataSourceMetadata:
      type: object
      oneOf:
      - $ref: '#/components/schemas/MParamsDatadog'
      - $ref: '#/components/schemas/MParamsPrometheus'
    MDataDogMetadata:
      required:
      - query
      type: object
      properties:
        query:
          type: string
    MetricMetadata:
      type: object
      description: Only required if the metric has a dataSource. You may not change this after creation.
      default: 'null'
      oneOf:
      - $ref: '#/components/schemas/MDataDogMetadata'
      - $ref: '#/components/schemas/MPrometheusMetadata'
    MetricDataSource:
      type: object
      properties:
        id:
          type: number
        name:
          type: string
        type:
          $ref: '#/components/schemas/MetricDataSourceType'
        teams:
          type: array
          items:
            $ref: '#/components/schemas/TeamRel'
        metadata:
          $ref: '#/components/schemas/MetricDataSourceMetadata'
    MParamsDatadog:
      required:
      - apiKey
      - applicationKey
      - region
      type: object
      properties:
        region:
          type: string
        apiKey:
          type: string
        applicationKey:
          type: string
    MetricDisplayType:
      type: string
      enum:
      - GRAPH
      - SINGLE
    MetricAggregationType:
      type: string
      enum:
      - AVG
      - SUM
      - MIN
      - MAX
      - LAST
    MetricDataSourceNoIncludes:
      type: object
      properties:
        id:
          type: number
        name:
          type: string
        type:
          $ref: '#/components/schemas/MetricDataSourceType'
        teams:
          type: array
          items:
            $ref: '#/components/schemas/TeamRel'
    TeamRel:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
    Metric:
      type: object
      properties:
        id:
          type: number
        name:
          type: string
        description:
          type: string
        aggregationType:
          $ref: '#/components/schemas/MetricAggregationType'
        displayType:
          $ref: '#/components/schemas/MetricDisplayType'
        interpolateGaps:
          type: boolean
          default: false
        lockYAxisMax:
          type: number
          format: double
        lockYAxisMin:
          type: number
          format: double
        mouseOverDecimal:
          maximum: 6
          minimum: 0
          type: number
          format: int32
        showValuesOnMouseOver:
          type: boolean
          default: false
        teams:
          type: array
          items:
            $ref: '#/components/schemas/TeamRel'
        unitLabel:
          type: string
        integrationKey:
          type: string
        metadata:
          $ref: '#/components/schemas/MetricMetadata'
        dataSource:
          $ref: '#/components/schemas/MetricDataSource'
    MPrometheusMetadata:
      required:
      - query
      type: object
      properties:
        query:
          type: string
  securitySchemes:
    apiKey:
      type: apiKey
      description: The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.
      name: Authorization
      in: header
x-original-swagger-version: '2.0'