Netdata charts API

Everything related to chart instances - DO NOT USE IN NEW CODE - use contexts instead

OpenAPI Specification

netdata-charts-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Netdata agent charts API
  description: 'Real-time performance and health monitoring.


    ## API Versions


    Netdata provides three API versions:

    - **v1**: The original API, focused on single-node operations

    - **v2**: Multi-node API with advanced grouping and aggregation capabilities

    - **v3**: The latest API version that combines v1 and v2 endpoints and may include additional features


    ### v3 API Endpoints


    The v3 API provides the current, actively maintained endpoints:

    - `/api/v3/data` - Multi-dimensional data queries

    - `/api/v3/weights` - Metric scoring/correlation

    - `/api/v3/contexts` - Context metadata

    - `/api/v3/nodes` - Node information

    - `/api/v3/q` - Full-text search

    - `/api/v3/alerts` - Alert information

    - `/api/v3/alert_transitions` - Alert state transitions

    - `/api/v3/alert_config` - Alert configuration

    - `/api/v3/functions` - Available functions

    - `/api/v3/function` - Execute functions

    - `/api/v3/info` - Agent information

    - `/api/v3/node_instances` - Node instance information

    - `/api/v3/stream_path` - Streaming topology

    - `/api/v3/versions` - Version information

    - `/api/v3/badge.svg` - Dynamic badges

    - `/api/v3/allmetrics` - Export metrics

    - `/api/v3/context` - Single context info

    - `/api/v3/variable` - Variable information

    - `/api/v3/config` - Dynamic configuration

    - `/api/v3/settings` - Agent settings

    - `/api/v3/me` - Current user information

    - `/api/v3/claim` - Agent claiming

    - Additional management and streaming endpoints


    **Note:** V1 and V2 APIs are deprecated and maintained for backwards compatibility only. New integrations should use V3 exclusively.

    '
  version: v1-rolling
  contact:
    name: Netdata Agent API
    email: info@netdata.cloud
    url: https://netdata.cloud
  license:
    name: GPL v3+
    url: https://github.com/netdata/netdata/blob/master/LICENSE
servers:
- url: https://registry.my-netdata.io
- url: http://registry.my-netdata.io
- url: http://localhost:19999
tags:
- name: charts
  description: Everything related to chart instances - DO NOT USE IN NEW CODE - use contexts instead
paths:
  /api/v1/charts:
    get:
      deprecated: true
      operationId: getNodeCharts1
      tags:
      - charts
      summary: List all charts v1 - EOL
      description: 'The charts endpoint returns a summary about all charts stored in the netdata server.

        **Security & Access Control:** - 📊 **Public Data API** - Bearer token optional, IP-based ACL restrictions apply - **Default Access:** Public (no authentication required) - **Bearer Protection:** When enabled via `/api/v3/bearer_protection`, requires bearer token - **IP Restrictions:** Subject to `allow dashboard from` in netdata.conf - **Access Methods:** Direct HTTP/HTTPS, Netdata Cloud, external tools'
      security:
      - {}
      - bearerAuth: []
      responses:
        '200':
          description: An array of charts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chart_summary'
  /api/v1/chart:
    get:
      deprecated: true
      operationId: getNodeChart1
      tags:
      - charts
      summary: Get one chart v1 - EOL
      description: 'The chart endpoint returns detailed information about a chart.

        **Security & Access Control:** - 📊 **Public Data API** - Bearer token optional, IP-based ACL restrictions apply - **Default Access:** Public (no authentication required) - **Bearer Protection:** When enabled via `/api/v3/bearer_protection`, requires bearer token - **IP Restrictions:** Subject to `allow dashboard from` in netdata.conf - **Access Methods:** Direct HTTP/HTTPS, Netdata Cloud, external tools'
      security:
      - {}
      - bearerAuth: []
      parameters:
      - $ref: '#/components/parameters/chart'
      responses:
        '200':
          description: A javascript object with detailed information about the chart.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chart'
        '400':
          description: No chart id was supplied in the request.
        '404':
          description: No chart with the given id is found.
  /api/v3/spaces/{spaceID}/rooms/{roomID}/data:
    post:
      summary: Time series data queries
      description: Multi-node, multi-context, multi-instance, multi-dimension data queries, with time and metric aggregation.
      operationId: post-scope-data
      tags:
      - charts
      parameters:
      - name: spaceID
        in: path
        required: true
        description: The unique identifier of the requested space.
        schema:
          type: string
          format: uuid
      - name: roomID
        in: path
        required: true
        description: The unique identifier of the requested room.
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.ScopeDataRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.ScopeDataResponse'
        '400':
          description: ' `"errorCode": "ErrBadRequest"`: when invalid query parameters/req. payload are provided <br /> `"errorCode": "ErrBigAgentResponses"`: when Agents return big responses and the caller needs to filter further, reduce the amount of requested `points` or use parents <br /> `"errorCode": "ErrNoEligibleNodeRequested"`: when no eligible nodes were targeted due to space plan restrictions <br /> `"errorCode": "ErrAllNodesFailed"`: when all Agent requests failed, details on every failure are included '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors.Error'
        '401':
          description: ' `"errorCode": "ErrUnauthorized"`: when the caller is not authenticated or not authorized to access this resource '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors.Error'
        '500':
          description: ' `"errorCode": "ErrInternal"`: when some Internal Server Error has occurred '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors.Error'
components:
  schemas:
    github_com_netdata_cloud-charts-service_internal_model.WindowSpan:
      type: object
      properties:
        after:
          description: After can be a negative number of seconds, up to 3 years (-94608000), relative to before. If not set, it is usually assumed to be -600. When non-data endpoints support the after and before, they use the time-frame to limit their response for objects having data retention within the time-frame given.
          type: integer
          example: 1745928492
        before:
          description: Before can be a negative number of seconds, up to 3 years (-94608000), relative to current clock. If not set, it is assumed to be the current clock time. When before is positive, it is assumed to be a unix epoch timestamp. When non-data endpoints support the after and before, they use the time-frame to limit their response for objects having data retention within the time-frame given.
          type: integer
          example: 1745929392
        duration:
          type: integer
        points:
          description: The number of points to be returned. If not given, or it is <= 0, or it is bigger than the points stored in the database for the given duration, all the available collected values for the given duration will be returned.
          type: integer
          example: 100
    github_com_netdata_cloud-charts-service_internal_model.MetricsAggregation:
      type: object
      properties:
        aggregation:
          description: The aggregation function to apply when grouping metrics together.
          default: average
          enum:
          - sum
          - min
          - max
          - avg
          - median
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.AggregationMethod'
          example: sum
        group_by:
          description: A list of groupings. All possible values can be combined together, except `selected`. If `selected` is provided, all others are ignored. The order they are placed in the list is currently ignored.
          type: array
          items:
            type: string
            enum:
            - dimension
            - instance
            - percentage-of-instance
            - label
            - node
            - context
            - units
            - selected
          example:
          - selected
        group_by_label:
          description: A list of the label keys to group by their values. The order of the labels in the list is respected.
          type: array
          items:
            type: string
          example:
          - a_label_key
    github_com_netdata_cloud-charts-service_internal_model.DB:
      type: object
      properties:
        dimensions:
          description: The Database dimensions details
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.DBDimensions'
        first_entry:
          description: The `min` (earliest) FirstEntry across participating Nodes
          type: integer
        last_entry:
          description: The `max` (latest) LastEntry across participating Nodes
          type: integer
        per_tier:
          description: Aggregated tier information for all participating Nodes
          type: array
          items:
            $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Tier'
        tiers:
          description: The `max` amount of Database Tiers
          type: integer
        units:
          description: The Units of the database data
          type: array
          items:
            type: integer
        update_every:
          description: The `max` UpdateEvery across participating Nodes
          type: integer
    errors.ValidationError:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    github_com_netdata_cloud-charts-service_internal_model.View:
      type: object
      properties:
        after:
          description: The oldest unix epoch timestamp of the data returned
          type: integer
        before:
          description: The newest unix epoch timestamp of the data returned
          type: integer
        chart_type:
          description: The default chart type of the query
          type: string
        dimensions:
          description: Detailed information about the chart dimensions included in the response
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.ViewDimensions'
        max:
          description: The maximum value of all points included in the result.
          type: number
        min:
          description: The minimum value of all points included in the
          type: number
        partial_data_trimming:
          description: Holds information related to trimming of the last few points of the result, that was required to remove (increasing) partial data. Trimming is disabled when the `raw` option is given to the query
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.PartialDataTrimming'
        points:
          description: The number of points in result. Available only when `raw` option is provided
          type: integer
        title:
          description: The title the chart should have
          type: string
        units:
          description: The units of the query.
          type: array
          items:
            type: integer
        update_every:
          description: The UpdateEvery interval in seconds
          type: integer
    github_com_netdata_cloud-charts-service_internal_model.ViewDimensions:
      type: object
      properties:
        aggregated:
          description: An array with the number of source metrics aggregated into each dimension.
          type: array
          items:
            type: integer
        grouped_by:
          description: An array with the order of the groupings performed.
          type: array
          items:
            type: string
        ids:
          description: An array with the dimension ids that uniquely identify the dimensions for this query.
          type: array
          items:
            type: string
        labels:
          description: The labels associated with each dimension in the query. This object is only available when the `group-by-labels` option is provided.
          type: object
          additionalProperties:
            type: array
            items:
              type: array
              items:
                type: string
        names:
          description: An array with the dimension names to be presented to users. Names may be overlapping, but IDs are not.
          type: array
          items:
            type: string
        priorities:
          description: An array with the relative priorities of the dimensions. Numbers may not be sequential or unique. The application is expected to order by this and then by name.
          type: array
          items:
            type: integer
        sts:
          description: Statistics about the view points for each dimension
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.StatsArray'
        units:
          description: An array with the units each dimension includes.
          type: array
          items:
            type: string
    github_com_netdata_cloud-charts-service_internal_model.ScopeDataResponse:
      type: object
      properties:
        agents:
          description: The Agents consulted to compose this response.
          type: array
          items:
            $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.AgentSummary'
        api:
          description: The API version used.
          type: integer
          example: 2
        db:
          description: Summarized Agent DB related information
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.DB'
        functions:
          description: A list of the supported Functions
          type: array
          items:
            type: string
        result:
          description: The composite data query Result
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Result'
        summary:
          description: Summarized information about nodes, contexts, instances, labels, alerts, and dimensions. The items returned are determined by the scope of the query only, however the statistical data in them are influenced by the filters of the query. Using this information the dashboard allows users to slice and dice the data by filtering and grouping.
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Summary'
        timings:
          description: Timing information regarding the various phases of the composite query
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Timings'
        totals:
          description: A summary of the Totals of Nodes, Contexts, Instances, Dimensions and Labels
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Totals'
        versions:
          description: Hashes that allow the caller to detect important database changes of Netdata Agents.
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Versions'
        view:
          description: View includes presentation related details
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.View'
    github_com_netdata_cloud-charts-service_internal_model.TimeAggregation:
      type: object
      properties:
        time_group:
          description: Time aggregation function. If multiple collected values are to be grouped in order to return fewer points, this parameters defines the method of grouping. If the `absolute` option is set, the values are turned positive before applying this calculation.
          type: string
          default: average
          enum:
          - min
          - max
          - avg
          - average
          - median
          - stddev
          - sum
          - incremental-sum
          - ses
          - des
          - cv
          - countif
          - percentile
          - percentile25
          - percentile50
          - percentile75
          - percentile80
          - percentile90
          - percentile95
          - percentile97
          - percentile98
          - percentile99
          - trimmed-mean
          - trimmed-mean1
          - trimmed-mean2
          - trimmed-mean3
          - trimmed-mean5
          - trimmed-mean10
          - trimmed-mean15
          - trimmed-mean20
          - trimmed-mean25
          - trimmed-median
          - trimmed-median1
          - trimmed-median2
          - trimmed-median3
          - trimmed-median5
          - trimmed-median10
          - trimmed-median15
          - trimmed-median20
          - trimmed-median25
          example: min
        time_group_options:
          description: When the time grouping function supports additional parameters, this field can be used to pass them to it.
          type: string
          enum:
          - countif
          - trimmed-mean
          - trimmed-median
          - percentile
          example: countif
        time_resampling:
          description: For incremental values that are "per second", this value is used to resample them to "per minute` (60) or "per hour" (3600). It can only be used when `time_group` function is `average`.
          type: integer
          example: 60
    github_com_netdata_cloud-charts-service_internal_model.ScopeDataRequest:
      type: object
      properties:
        aggregations:
          description: Aggregations define the time and metric aggregation specs. At last one metric aggregation is required
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Aggregations'
        format:
          description: The format of the data to be returned. Only `json2` is currently supported by Netdata Cloud.
          type: string
          default: json2
          enum:
          - json2
          example: json2
        options:
          description: 'Options that affect data generation, more info on each option : https://learn.netdata.cloud/api#/data/dataQuery2.'
          type: array
          items:
            type: string
            enum:
            - jsonwrap
            - raw
            - minify
            - debug
            - nonzero
            - null2zero
            - abs
            - absolute
            - display-absolute
            - flip
            - reversed
            - min2max
            - percentage
            - seconds
            - ms
            - milliseconds
            - unaligned
            - match-ids
            - match-names
            - anomaly-bit
            - jw-anomaly-rates
            - details
            - group-by-labels
            - natural-points
            - virtual-points
            - selected-tier
            - all-dimensions
            - label-quotes
            - objectrows
            - google_json
          example:
          - jsonwrap
          - minify
        scope:
          description: Scope defines the data that the agent must take into account in order to generate the response. Affects the response data and metadata.
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Scope'
        selectors:
          description: Selectors act as filters when the agent generates the response, and can only affect response data, not metadata.
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Selectors'
        timeout:
          description: Timeout defined in milliseconds.
          type: integer
          default: 10000
          example: 12000
        window:
          description: Window defines the time-frame of a query.
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Window'
    github_com_netdata_cloud-charts-service_internal_model.Result:
      type: object
      properties:
        data:
          description: The actual time series data is a 2D array whose contents may vary. The first element should be the timestamp while the rest should be arrays of values for the various dimensions
          type: array
          items:
            type: array
            items: {}
        labels:
          description: The IDs of the dimensions returned. The first is always `time`.
          type: array
          items:
            type: string
        point:
          description: The format of each point returned.
          type: object
          additionalProperties:
            type: integer
    chart_variables:
      type: object
      properties:
        varname1:
          type: number
          format: float
        varname2:
          type: number
          format: float
    chart_summary:
      type: object
      properties:
        hostname:
          type: string
          description: The hostname of the netdata server.
        version:
          type: string
          description: netdata version of the server.
        release_channel:
          type: string
          description: The release channel of the build on the server.
          example: nightly
        timezone:
          type: string
          description: The current timezone on the server.
        os:
          type: string
          description: The netdata server host operating system.
          enum:
          - macos
          - linux
          - freebsd
        history:
          type: number
          description: The duration, in seconds, of the round robin database maintained by netdata.
        memory_mode:
          type: string
          description: The name of the database memory mode on the server.
        update_every:
          type: number
          description: The default update frequency of the netdata server. All charts have an update frequency equal or bigger than this.
        charts:
          type: object
          description: An object containing all the chart objects available at the netdata server. This is used as an indexed array. The key of each chart object is the id of the chart.
          additionalProperties:
            $ref: '#/components/schemas/chart'
        charts_count:
          type: number
          description: The number of charts.
        dimensions_count:
          type: number
          description: The total number of dimensions.
        alarms_count:
          type: number
          description: The number of alarms.
        rrd_memory_bytes:
          type: number
          description: The size of the round robin database in bytes.
    github_com_netdata_cloud-charts-service_internal_model.Versions:
      type: object
      properties:
        alerts_hard_hash:
          description: An auto-increment value that reflects the number of changes to the number of alerts. Everytime an alert is added or removed, this number gets incremented.
          type: integer
        alerts_soft_hash:
          description: An auto-increment value that reflects the number of alerts transitions. Everytime an alert transitions to a new state, this number gets incremented.
          type: integer
        contexts_hard_hash:
          description: An auto-increment value that reflects the number of changes to the number of contexts maintained by the server. Everytime a context is added or removed, this number gets incremented.
          type: integer
        contexts_soft_hash:
          description: An auto-increment value that reflects the number of changes to the queue that sends contexts updates to Netdata Cloud. Everytime the contents of a context are updated, this number gets incremented.
          type: integer
        nodes_hard_hash:
          description: An auto-increment value that reflects the number of changes to the number of nodes maintained by the server. Everytime a node is added or removed, this number gets incremented.
          type: integer
    github_com_netdata_cloud-charts-service_internal_model.GlobalSummary:
      type: object
      properties:
        sts:
          type: array
          items:
            type: integer
    github_com_netdata_cloud-charts-service_internal_model.StatsArray:
      type: object
      properties:
        arc:
          type: array
          items:
            type: number
        arp:
          type: array
          items:
            type: number
        avg:
          type: array
          items:
            type: number
        cnt:
          type: array
          items:
            type: number
        con:
          type: array
          items:
            type: number
        max:
          type: array
          items:
            type: number
        min:
          type: array
          items:
            type: number
        sum:
          type: array
          items:
            type: number
        vol:
          type: array
          items:
            type: number
    github_com_netdata_cloud-charts-service_internal_model.AgentSummary:
      type: object
      properties:
        ai:
          description: The index of the Agent in the summaries array
          type: integer
        claim_id:
          description: The Agent Claim ID
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        mg:
          description: The Agent Machine GUID
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        nd:
          description: The Agent Node ID
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        nm:
          description: The Agent Node name
          type: string
          example: my_node
        timings:
          description: Timing information for all the stages included until the final composite response is returned
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.Timings'
    github_com_netdata_cloud-charts-service_internal_model.PartialDataTrimming:
      type: object
      properties:
        expected_after:
          type: integer
        max_update_every:
          type: integer
        trimmed_after:
          type: integer
    github_com_netdata_cloud-charts-service_internal_model.ItemsCount:
      type: object
      properties:
        ex:
          description: The amount of items that were Excluded
          type: integer
        fl:
          description: The amount of items that were not queried successfully
          type: integer
        qr:
          description: The amount of items that were queried successfully
          type: integer
        sl:
          description: The amount of items that were Selected
          type: integer
    github_com_netdata_cloud-charts-service_internal_model.LabelSummary:
      type: object
      properties:
        ds:
          description: Dimensions are th available label keys
          allOf:
          - $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.ItemsCount'
        id:
          description: ID is the label key
          type: string
        sts:
          description: Statistics object including `min`, `max`, `avg`, `anomaly-rate` and `contribution-percentage`
          type: array
          items:
            type: integer
        vl:
          description: The Values are summarizing the label values of the result
          type: array
          items:
            $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.LabelValueSummary'
    github_com_netdata_cloud-charts-service_internal_model.Scope:
      type: object
      properties:
        contexts:
          description: The targeted contexts.
          type: array
          items:
            type: string
          example:
          - disk.space
        dimensions:
          description: The targeted dimensions.
          type: array
          items:
            type: string
          example:
          - avail
          - used
        instances:
          description: The targeted instances.
          type: array
          items:
            type: string
          example:
          - disk_space./@bd498fed-8aa1-440c-a9d6-7c33db570608
        labels:
          description: The targeted labels.
          type: array
          items:
            type: string
          example:
          - filesystem:btrfs
          - mount_point:/host/var/log
        nodes:
          description: The targeted nodes.
          type: array
          items:
            type: string
          example:
          - node_id_1
          - node_id_2
    github_com_netdata_cloud-charts-service_internal_model.DimensionSummary:
      type: object
      properties:
        ds:
          $ref: '#/components/schemas/github_com_netdata_cloud-charts-service_internal_model.ItemsCount'
        id:
          type: string
        nm:
          type: string
        pri:
          type: integer
        sts:
          type: array
          items:
            type: integer
    github_com_netdata_cloud-charts-service_internal_model.Tier:
      type: object
      properties:
        first_entry:
          type: integer
        last_entry:
          type: integer
        points:
          type: integer
        queries:
          type: integer
        tier:
          type: integer
        update_every:
          type: integer
    chart:
      type: object
      properties:
        id:
          type: string
          description: The unique id of the chart.
        name:
          type: string
          description: The name of the chart.
        type:
          type: string
          description: The type of the chart. Types are not handled by netdata. You can use this field for anything you like.
        family:
          type: string
          description: The family of the chart. Families are not handled by netdata. You can use this field for anything you like.
        title:
          type: string
          description: The title of the chart.
        priority:
          type: number
          description: The relative priority of the chart. Netdata does not care about priorities. This is just an indication of importance for the chart viewers to sort charts of higher priority (lower number) closer to the top. Priority sorting should only be used among charts of the same type or family.
        enabled:
          type: boolean
          description: True when the chart is enabled. Disabled charts do not currently collect values, but they may have historical values available.
        units:
          type: string
          description: The unit of measurement for the values of all dimensions of the chart.
        data_url:
          type: string
          description: The absolute path to get data values for this chart. You are expected to use this path as the base when constructing the URL to fetch data values for this chart.
        chart_type:
          type: string
          description: The chart type.
          enum:
          - line
          - area
          - stacked
        duration:
          type: number
          description: The duration, in seconds, of the round robin database maintained by netdata.
        first_entry:
          type: number
          description: The UNIX timestamp of the first entry (the oldest) in the round robin database.
        last_entry:
   

# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/netdata/refs/heads/main/openapi/netdata-charts-api-openapi.yml