Netdata data API

Everything related to data queries

OpenAPI Specification

netdata-data-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Netdata agent data 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: data
  description: Everything related to data queries
paths:
  /api/v2/data:
    get:
      deprecated: true
      operationId: dataQuery2
      tags:
      - data
      summary: Data Query v2
      description: 'Multi-node, multi-context, multi-instance, multi-dimension data queries, with time and metric aggregation.


        **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:
      - name: group_by
        in: query
        description: 'A comma separated list of the groupings required.

          All possible values can be combined together, except `selected`. If `selected` is given in the list, all others are ignored.

          The order they are placed in the list is currently ignored.

          This parameter is also accepted as `group_by[0]` and `group_by[1]` when multiple grouping passes are required.

          '
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - dimension
            - instance
            - percentage-of-instance
            - label
            - node
            - context
            - units
            - selected
          default:
          - dimension
      - name: group_by_label
        in: query
        description: 'A comma separated list of the label keys to group by their values. The order of the labels in the list is respected.

          This parameter is also accepted as `group_by_label[0]` and `group_by_label[1]` when multiple grouping passes are required.

          '
        required: false
        schema:
          type: string
          format: comma separated list of label keys to group by
          default: ''
      - name: aggregation
        in: query
        description: 'The aggregation function to apply when grouping metrics together.

          When option `raw` is given, `average` and `avg` behave like `sum` and the caller is expected to calculate the average.

          This parameter is also accepted as `aggregation[0]` and `aggregation[1]` when multiple grouping passes are required.

          '
        required: false
        schema:
          type: string
          enum:
          - min
          - max
          - avg
          - average
          - sum
          - percentage
          - extremes
          default: average
      - $ref: '#/components/parameters/scopeNodes'
      - $ref: '#/components/parameters/scopeContexts'
      - $ref: '#/components/parameters/scopeInstances'
      - $ref: '#/components/parameters/scopeLabels'
      - $ref: '#/components/parameters/scopeDimensions'
      - $ref: '#/components/parameters/filterNodes'
      - $ref: '#/components/parameters/filterContexts'
      - $ref: '#/components/parameters/filterInstances'
      - $ref: '#/components/parameters/filterLabels'
      - $ref: '#/components/parameters/filterAlerts'
      - $ref: '#/components/parameters/filterDimensions'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/points'
      - $ref: '#/components/parameters/tier'
      - $ref: '#/components/parameters/dataQueryOptions'
      - $ref: '#/components/parameters/dataTimeGroup2'
      - $ref: '#/components/parameters/dataTimeGroupOptions2'
      - $ref: '#/components/parameters/dataTimeResampling2'
      - $ref: '#/components/parameters/dataFormat2'
      - $ref: '#/components/parameters/cardinalityLimit'
      - $ref: '#/components/parameters/timeoutMS'
      - $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/filename'
      - $ref: '#/components/parameters/tqx'
      responses:
        '200':
          description: 'The call was successful. The response includes the data in the format requested.

            '
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/jsonwrap2'
                - $ref: '#/components/schemas/data_json_formats2'
            text/plain:
              schema:
                type: string
                format: according to the format requested.
            text/html:
              schema:
                type: string
                format: html
            application/x-javascript:
              schema:
                type: string
                format: javascript
        '400':
          description: 'Bad request - the body will include a message stating what is wrong.

            '
        '500':
          description: 'Internal server error. This usually means the server is out of memory.

            '
  /api/v3/data:
    get:
      operationId: dataQuery3
      tags:
      - data
      summary: Data Query v3
      description: 'Multi-node, multi-context, multi-instance, multi-dimension data queries, with time and metric aggregation.


        **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:
      - name: group_by
        in: query
        description: 'A comma separated list of the groupings required.

          All possible values can be combined together, except `selected`. If `selected` is given in the list, all others are ignored.

          The order they are placed in the list is currently ignored.

          This parameter is also accepted as `group_by[0]` and `group_by[1]` when multiple grouping passes are required.

          '
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - dimension
            - instance
            - percentage-of-instance
            - label
            - node
            - context
            - units
            - selected
          default:
          - dimension
      - name: group_by_label
        in: query
        description: 'A comma separated list of the label keys to group by their values. The order of the labels in the list is respected.

          This parameter is also accepted as `group_by_label[0]` and `group_by_label[1]` when multiple grouping passes are required.

          '
        required: false
        schema:
          type: string
          format: comma separated list of label keys to group by
          default: ''
      - name: aggregation
        in: query
        description: 'The aggregation function to apply when grouping metrics together.

          When option `raw` is given, `average` and `avg` behave like `sum` and the caller is expected to calculate the average.

          This parameter is also accepted as `aggregation[0]` and `aggregation[1]` when multiple grouping passes are required.

          '
        required: false
        schema:
          type: string
          enum:
          - min
          - max
          - avg
          - average
          - sum
          - percentage
          - extremes
          default: average
      - $ref: '#/components/parameters/scopeNodes'
      - $ref: '#/components/parameters/scopeContexts'
      - $ref: '#/components/parameters/scopeInstances'
      - $ref: '#/components/parameters/scopeLabels'
      - $ref: '#/components/parameters/scopeDimensions'
      - $ref: '#/components/parameters/filterNodes'
      - $ref: '#/components/parameters/filterContexts'
      - $ref: '#/components/parameters/filterInstances'
      - $ref: '#/components/parameters/filterLabels'
      - $ref: '#/components/parameters/filterAlerts'
      - $ref: '#/components/parameters/filterDimensions'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/points'
      - $ref: '#/components/parameters/tier'
      - $ref: '#/components/parameters/dataQueryOptions'
      - $ref: '#/components/parameters/dataTimeGroup2'
      - $ref: '#/components/parameters/dataTimeGroupOptions2'
      - $ref: '#/components/parameters/dataTimeResampling2'
      - $ref: '#/components/parameters/dataFormat2'
      - $ref: '#/components/parameters/cardinalityLimit'
      - $ref: '#/components/parameters/timeoutMS'
      - $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/filename'
      - $ref: '#/components/parameters/tqx'
      responses:
        '200':
          description: 'The call was successful. The response includes the data in the format requested.

            '
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/jsonwrap2'
                - $ref: '#/components/schemas/data_json_formats2'
            text/plain:
              schema:
                type: string
                format: according to the format requested.
            text/html:
              schema:
                type: string
                format: html
            application/x-javascript:
              schema:
                type: string
                format: javascript
        '400':
          description: 'Bad request - the body will include a message stating what is wrong.

            '
        '500':
          description: 'Internal server error. This usually means the server is out of memory.

            '
  /api/v1/data:
    get:
      deprecated: true
      operationId: dataQuery1
      tags:
      - data
      summary: Data Query v1 - Single node, single chart or context queries. without group-by.
      description: 'Query metric data of a chart or context of a node and return a dataset having time-series data for all dimensions available.

        For group-by functionality, use `/api/v2/data`.

        At least a `chart` or a `context` have to be given for the data query to be executed.


        **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'
      - $ref: '#/components/parameters/context'
      - $ref: '#/components/parameters/dimension'
      - $ref: '#/components/parameters/chart_label_key'
      - $ref: '#/components/parameters/chart_labels_filter'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/points'
      - $ref: '#/components/parameters/tier'
      - $ref: '#/components/parameters/dataQueryOptions'
      - $ref: '#/components/parameters/dataFormat1'
      - $ref: '#/components/parameters/dataTimeGroup1'
      - $ref: '#/components/parameters/dataTimeGroupOptions1'
      - $ref: '#/components/parameters/dataTimeResampling1'
      - $ref: '#/components/parameters/timeoutMS'
      - $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/filename'
      - $ref: '#/components/parameters/tqx'
      responses:
        '200':
          description: 'The call was successful. The response includes the data in the format requested.

            '
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/jsonwrap1'
                - $ref: '#/components/schemas/data_json_formats1'
            text/plain:
              schema:
                type: string
                format: according to the format requested.
            text/html:
              schema:
                type: string
                format: html
            application/x-javascript:
              schema:
                type: string
                format: javascript
        '400':
          description: Bad request - the body will include a message stating what is wrong.
        '404':
          description: Chart or context is not found. The supplied chart or context will be reported.
        '500':
          description: Internal server error. This usually means the server is out of memory.
  /api/v1/allmetrics:
    get:
      deprecated: true
      operationId: allMetrics1
      tags:
      - data
      summary: All Metrics v1 - Fetch latest value for all metrics
      description: 'The `allmetrics` endpoint returns the latest value of all metrics maintained for a netdata node.


        **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:
      - name: format
        in: query
        description: The format of the response to be returned.
        required: true
        schema:
          type: string
          enum:
          - shell
          - prometheus
          - prometheus_all_hosts
          - json
          default: shell
      - name: filter
        in: query
        description: Allows to filter charts out using simple patterns.
        required: false
        schema:
          type: string
          format: any text
      - name: variables
        in: query
        description: 'When enabled, netdata will expose various system configuration variables.

          '
        required: false
        schema:
          type: string
          enum:
          - true
          - false
          default: false
      - name: timestamps
        in: query
        description: 'Enable or disable timestamps in prometheus output.

          '
        required: false
        schema:
          type: string
          enum:
          - true
          - false
          default: true
      - name: names
        in: query
        description: 'When enabled netdata will report dimension names. When disabled netdata will report dimension IDs. The default is controlled in netdata.conf.

          '
        required: false
        schema:
          type: string
          enum:
          - true
          - false
          default: true
      - name: oldunits
        in: query
        description: 'When enabled, netdata will show metric names for the default `source=average` as they appeared before 1.12, by using the legacy unit naming conventions.

          '
        required: false
        schema:
          type: string
          enum:
          - true
          - false
          default: true
      - name: hideunits
        in: query
        description: 'When enabled, netdata will not include the units in the metric names, for the default `source=average`.

          '
        required: false
        schema:
          type: string
          enum:
          - true
          - false
          default: true
      - name: server
        in: query
        description: 'Set a distinct name of the client querying prometheus metrics. Netdata will use the client IP if this is not set.

          '
        required: false
        schema:
          type: string
          format: any text
      - name: prefix
        in: query
        description: 'Prefix all prometheus metrics with this string.

          '
        required: false
        schema:
          type: string
          format: any text
      - name: data
        in: query
        description: 'Select the prometheus response data source. There is a setting in netdata.conf for the default.

          '
        required: false
        schema:
          type: string
          enum:
          - as-collected
          - average
          - sum
          default: average
      responses:
        '200':
          description: All the metrics returned in the format requested.
        '400':
          description: The format requested is not supported.
  /api/v3/allmetrics:
    get:
      operationId: allMetrics3
      tags:
      - data
      summary: All Metrics v3 - Export all metrics in various formats - Latest API
      description: 'The `allmetrics` endpoint exports the latest values of all metrics collected by Netdata in various formats suitable for integration with external monitoring systems, shell scripts, or APIs.


        This is the latest version (v3) of the allmetrics API. It provides the same functionality as v1 but may include additional features in the future.


        **Supported Export Formats:**

        - **shell**: Bash-compatible variable assignments for scripting (NETDATA_CHARTNAME_DIMENSIONNAME="value")

        - **prometheus**: Prometheus exposition format for a single host

        - **prometheus_all_hosts**: Prometheus format including metrics from all child nodes

        - **json**: JSON format with full chart and dimension metadata


        **Use Cases:**

        - Integration with Prometheus or other metric collectors

        - Shell script automation and monitoring

        - Custom metric exporters

        - Multi-host metric aggregation


        **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:
      - name: format
        in: query
        description: 'The export format for the metrics. Required parameter.


          **Formats:**

          - `shell`: Bash variables (default) - Exports as NETDATA_CHARTNAME_DIMENSIONNAME="value"

          - `prometheus`: Prometheus format (single host) - Compatible with Prometheus scraping

          - `prometheus_all_hosts`: Prometheus format (all hosts) - Includes metrics from child nodes with host labels

          - `json`: JSON format - Full metadata including chart names, families, contexts, units, and timestamps


          **Format Details:**

          - Shell format includes alarm status variables (NETDATA_ALARM_CHART_ALARM_STATUS, NETDATA_ALARM_CHART_ALARM_VALUE)

          - Prometheus formats respect Prometheus metric naming conventions

          - JSON format provides complete chart and dimension information

          '
        required: true
        schema:
          type: string
          enum:
          - shell
          - prometheus
          - prometheus_all_hosts
          - json
          default: shell
      - name: filter
        in: query
        description: 'Simple pattern filter to include only specific charts. Uses Netdata simple pattern matching.


          **Pattern Syntax:**

          - Exact match: `system.cpu`

          - Wildcard: `system.*` (all system charts)

          - Multiple patterns: `system.* disk.*` (space-separated)

          - Negation: `!system.cpu` (exclude specific chart)


          When not specified, all charts are exported.


          **Examples:**

          - `system.*` - Export only system charts

          - `disk.* net.*` - Export disk and network charts

          - `* !*.mdstat` - Export all except mdstat charts

          '
        required: false
        schema:
          type: string
      - name: variables
        in: query
        description: '**Prometheus format only**: Include or exclude system configuration variables in the output.


          When enabled (yes/1/true), Netdata exposes various system configuration variables as Prometheus metrics. This includes:

          - Netdata configuration parameters

          - System environment information

          - Collection plugin states


          Note: Only affects Prometheus format output. Ignored for shell and json formats.

          '
        required: false
        schema:
          type: string
          enum:
          - 'yes'
          - 'no'
          - '1'
          - '0'
          - 'true'
          - 'false'
          default: 'no'
      - name: timestamps
        in: query
        description: '**Prometheus format only**: Include or exclude timestamps in Prometheus metrics.


          When enabled (default), each metric includes a timestamp of when it was collected.

          When disabled, metrics are exported without timestamps (Prometheus will use scrape time).


          Note: Only affects Prometheus format output. Ignored for shell and json formats.

          '
        required: false
        schema:
          type: string
          enum:
          - 'yes'
          - 'no'
          - '1'
          - '0'
          - 'true'
          - 'false'
          default: 'yes'
      - name: names
        in: query
        description: '**Prometheus format only**: Use dimension names vs IDs in metric names.


          When enabled (default), Prometheus metrics use human-readable dimension names.

          When disabled, metrics use dimension IDs (which never change).


          **Example:**

          - names=yes: `netdata_system_cpu_percentage_average{dimension="user"}`

          - names=no: `netdata_system_cpu_percentage_average{dimension="user"}`


          The default is controlled by the global Netdata configuration. This parameter allows per-request override.


          Note: Only affects Prometheus format output.

          '
        required: false
        schema:
          type: string
          enum:
          - 'yes'
          - 'no'
          - '1'
          - '0'
          - 'true'
          - 'false'
      - name: oldunits
        in: query
        description: '**Prometheus format only**: Use legacy unit naming conventions (pre-1.12 format).


          When enabled, metric names for `source=average` use the old unit naming conventions as they appeared before Netdata version 1.12.


          This is provided for backward compatibility with existing Prometheus configurations.


          Note: Only affects Prometheus format with source=average.

          '
        required: false
        schema:
          type: string
          enum:
          - 'yes'
          - 'no'
          - '1'
          - '0'
          - 'true'
          - 'false'
          default: 'no'
      - name: hideunits
        in: query
        description: '**Prometheus format only**: Exclude units from metric names for source=average.


          When enabled, units are not included in the Prometheus metric names for the default `source=average` data.


          **Example:**

          - hideunits=no: `netdata_system_cpu_percentage_average`

          - hideunits=yes: `netdata_system_cpu_average`


          Note: Only affects Prometheus format with source=average.

          '
        required: false
        schema:
          type: string
          enum:
          - 'yes'
          - 'no'
          - '1'
          - '0'
          - 'true'
          - 'false'
          default: 'no'
      - name: server
        in: query
        description: '**Prometheus format only**: Set a custom identifier for the client scraping the metrics.


          This parameter is used to identify the client in Prometheus metric labels. If not specified, Netdata uses the client''s IP address.


          Useful when multiple Prometheus instances scrape the same Netdata agent, or when scraping through a proxy.


          **Example:** `server=prometheus-prod-1`


          Note: Only affects Prometheus format output. This value appears in metric labels to distinguish scraping sources.

          '
        required: false
        schema:
          type: string
      - name: prefix
        in: query
        description: '**Prometheus format only**: Prefix all Prometheus metric names with a custom string.


          Useful for namespacing metrics when aggregating from multiple sources or to comply with organizational metric naming conventions.


          **Example:** `prefix=mycompany_` produces metrics like `mycompany_system_cpu_percentage_average`


          The default prefix is controlled by the global Netdata configuration. This parameter allows per-request override.


          Note: Only affects Prometheus format output.

          '
        required: false
        schema:
          type: string
      - name: data
        in: query
        description: '**Prometheus format only**: Select the data source/aggregation method for Prometheus metrics.


          **Options:**

          - `as-collected`: Raw values as collected by data collection plugins (no aggregation)

          - `average`: Average values over the collection interval (default)

          - `sum`: Sum of values over the collection interval


          The `as-collected` source provides the most recent raw sample, while `average` and `sum` provide values aggregated over the chart''s update interval.


          The default is controlled by the global Netdata exporting configuration. This parameter allows per-request override.


          **Use Cases:**

          - `as-collected`: For counter metrics that Prometheus will rate()

          - `average`: For gauge metrics showing typical values

          - `sum`: For accumulating metrics


          Aliases: `source`, `data source`, `data-source`, `data_source`, `datasource`


          Note: Only affects Prometheus format output.

          '
        required: false
        schema:
          type: string
          enum:
          - as-collected
          - average
          - sum
          default: average
      responses:
        '200':
          description: 'Success. Metrics exported in the requested format.


            **Content Types:**

            - shell: text/plain

            - json: application/json

            - prometheus/prometheus_all_hosts: application/openmetrics-text (Prometheus format)


            **Response Characteristics:**

            - Shell format: Variables ready for sourcing in bash scripts

            - JSON format: Complete chart metadata with current values

            - Prometheus format: Ready for Prometheus scraping


            The response is not cacheable as it contains current metric values.

            '
          content:
            text/plain:
              schema:
                type: string
                description: Shell format output (when format=shell)
            application/json:
              schema:
                type: object
                description: JSON format output (when format=json)
            application/openmetrics-text:
              schema:
                type: string
                description: Prometheus format output (when format=prometheus or prometheus_all_hosts)
        '400':
          description: 'Bad request. The response body contains an error message.


            Common causes:

            - Invalid or missing ''format'' parameter

            - Unsupported format value

            - Invalid filter pattern syntax

            '
        '500':
          description: Internal server error. Usually indicates the server is out of memory or a collection plugin has crashed.
  /api/v1/variable:
    get:
      deprecated: true
      operationId: variable1
      tags:
      - data
      summary: '[DEPRECATED] Get a chart variable value'
      description: '**[DEPRECATED - Use `/api/v3/variable` instead]**


        **Chart Variable Retrieval**


        This endpoint returns the current value of a chart variable. Variables are values computed by Netdata that can be used in alert expressions and calculations. Each chart can have multiple variables representing different aspects of its data.


        **Common Variables:**

        - Calculated values (averages, sums, percentages)

        - Threshold values used in alerts

        - State information (counts, flags)

        - Time-based values (last update, collection duration)


        **Use Cases:**

        - **Alert Debugging:** Check variable values used in alert conditions

        - **Custom Calculations:** Retrieve computed values for external processing

        - **Monitoring Verification:** Verify that calculated variables match expectations

        - **Integration:** Feed variable values to external monitoring systems


        **Migration to v3:**

        Use `/api/v3/variable` which provides the same functionality with enhanced error handling and clearer response format.


        **Security:**

        - Requires appropriate data access permissions

        - Variables may contain sensitive metrics information


        **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:
      - name: chart
        in: query
        description: 'Chart ID for which to retrieve the variable. This is the full chart ID as shown in the dashboard.


          **Examples:**

          - `system.cpu` - System CPU usage chart

          - `disk.sda.io` - Disk I/O for sda

          - `nginx_local.connec

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