Netdata contexts API

Everything related contexts - in new code, use this instead of charts

OpenAPI Specification

netdata-contexts-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Netdata agent contexts 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: contexts
  description: Everything related contexts - in new code, use this instead of charts
paths:
  /api/v2/contexts:
    get:
      deprecated: true
      operationId: getContexts2
      tags:
      - contexts
      summary: Contexts Info v2
      description: 'Get a list of all contexts, across all nodes, hosted by this Netdata Agent.


        **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/scopeNodes'
      - $ref: '#/components/parameters/scopeContexts'
      - $ref: '#/components/parameters/filterNodes'
      - $ref: '#/components/parameters/filterContexts'
      - $ref: '#/components/parameters/contextsQueryOptions'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contexts2'
  /api/v3/contexts:
    get:
      operationId: getContexts3
      tags:
      - contexts
      summary: Contexts Info v3
      description: 'Get a list of all contexts, across all nodes, hosted by this Netdata Agent.


        **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/scopeNodes'
      - $ref: '#/components/parameters/scopeContexts'
      - $ref: '#/components/parameters/filterNodes'
      - $ref: '#/components/parameters/filterContexts'
      - $ref: '#/components/parameters/contextsQueryOptions'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contexts2'
  /api/v2/q:
    get:
      deprecated: true
      operationId: q2
      tags:
      - contexts
      summary: Full Text Search v2
      description: 'Get a list of contexts, across all nodes, hosted by this Netdata Agent, matching a string expression


        **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: q
        in: query
        description: The strings to search for, formatted as a simple pattern
        required: true
        schema:
          type: string
          format: simple pattern
      - $ref: '#/components/parameters/scopeNodes'
      - $ref: '#/components/parameters/scopeContexts'
      - $ref: '#/components/parameters/filterNodes'
      - $ref: '#/components/parameters/filterContexts'
      - $ref: '#/components/parameters/contextsQueryOptions'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contexts2'
  /api/v3/q:
    get:
      operationId: q3
      tags:
      - contexts
      summary: Full Text Search v3
      description: 'Get a list of contexts, across all nodes, hosted by this Netdata Agent, matching a string expression.


        **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: q
        in: query
        description: The strings to search for, formatted as a simple pattern
        required: true
        schema:
          type: string
          format: simple pattern
      - $ref: '#/components/parameters/scopeNodes'
      - $ref: '#/components/parameters/scopeContexts'
      - $ref: '#/components/parameters/filterNodes'
      - $ref: '#/components/parameters/filterContexts'
      - $ref: '#/components/parameters/contextsQueryOptions'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contexts2'
  /api/v1/contexts:
    get:
      deprecated: true
      operationId: getNodeContexts1
      tags:
      - contexts
      summary: Get a list of all node contexts available v1
      description: 'The contexts endpoint returns a summary about all contexts 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: []
      parameters:
      - $ref: '#/components/parameters/dimensions'
      - $ref: '#/components/parameters/chart_label_key'
      - $ref: '#/components/parameters/chart_labels_filter'
      - $ref: '#/components/parameters/contextOptions1'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      responses:
        '200':
          description: An array of contexts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/context_summary'
  /api/v1/context:
    get:
      deprecated: true
      operationId: getNodeContext1
      tags:
      - contexts
      summary: Get info about a specific context
      description: 'The context endpoint returns detailed information about a given context.

        The `context` parameter is required for this call.


        **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/context'
      - $ref: '#/components/parameters/dimensions'
      - $ref: '#/components/parameters/chart_label_key'
      - $ref: '#/components/parameters/chart_labels_filter'
      - $ref: '#/components/parameters/contextOptions1'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      responses:
        '200':
          description: A javascript object with detailed information about the context.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/context'
        '400':
          description: No context id was supplied in the request.
        '404':
          description: No context with the given id is found.
  /api/v3/context:
    get:
      operationId: getNodeContext3
      tags:
      - contexts
      summary: Get info about a specific context - Latest API
      description: 'The context endpoint returns detailed information about a specific monitoring context across all nodes.


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


        **What is a Context?**

        A context is a grouping of charts that monitor the same type of metric across different instances. For example:

        - `system.cpu` - CPU usage (one chart per node)

        - `disk.io` - Disk I/O operations (one chart per disk)

        - `net.packets` - Network packets (one chart per network interface)


        **Use Cases:**

        - Get metadata about a specific metric type across all instances and nodes

        - Discover which charts belong to a context

        - Filter charts by labels or dimensions

        - Understand metric families, units, and chart types

        - Build dynamic dashboards that adapt to available instances


        The response includes all charts that belong to the specified context, with their metadata, dimensions, labels, and current availability status.


        **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: context
        in: query
        description: 'The context identifier to query. This is a required parameter.


          A context represents a type of metric collected across multiple instances. Each context groups charts that measure the same thing but for different entities.


          **Common Context Examples:**

          - `system.cpu` - CPU utilization metrics

          - `system.ram` - RAM usage metrics

          - `disk.io` - Disk I/O operations

          - `disk.ops` - Disk operation counts

          - `net.packets` - Network packet statistics

          - `net.drops` - Network packet drops

          - `cgroup.cpu` - Container CPU usage

          - `nginx.requests` - Nginx request rates


          **Finding Available Contexts:**

          Use the `/api/v3/contexts` endpoint to get a list of all available contexts.


          **Alias:** Can also be specified as `ctx` for brevity.

          '
        required: true
        schema:
          type: string
        example: system.cpu
      - $ref: '#/components/parameters/dimensions'
      - $ref: '#/components/parameters/chart_label_key'
      - $ref: '#/components/parameters/chart_labels_filter'
      - name: options
        in: query
        description: 'Comma or pipe-separated list of options to control the response content and format.


          **Available Options:**

          - `full` or `all` - Include all possible information (equivalent to enabling all options below)

          - `charts` - Include the list of charts belonging to this context

          - `dimensions` - Include dimension information for each chart

          - `queue` - Include data collection queue statistics

          - `flags` - Include internal flags and states

          - `labels` - Include chart labels

          - `alerts` - Include alert configurations and states for this context


          **Option Combinations:**

          Options can be combined. For example: `options=charts,dimensions,labels` will include charts with their dimensions and labels.


          **Default Behavior:**

          When not specified, returns basic context information without detailed chart data.


          **Examples:**

          - `options=full` - Complete information

          - `options=charts,dimensions` - Charts with dimension details

          - `options=charts|labels` - Charts with labels (pipe separator)

          '
        required: false
        schema:
          type: string
        examples:
          minimal:
            value: ''
            summary: Basic context info only
          standard:
            value: charts,dimensions
            summary: Charts with dimensions
          complete:
            value: full
            summary: All available information
      - name: after
        in: query
        description: 'Return only charts that have collected data after this timestamp.


          This filters charts based on their data collection activity, excluding charts that haven''t collected data since the specified time.


          **Format:** Unix timestamp in seconds


          **Use Cases:**

          - Find recently active charts

          - Exclude stale or obsolete charts

          - Filter charts by collection timeframe


          **Example:** `after=1609459200` (charts active after January 1, 2021)


          When not specified, all charts are included regardless of their last update time.

          '
        required: false
        schema:
          type: integer
          format: int64
        example: 1609459200
      - name: before
        in: query
        description: 'Return only charts that have collected data before this timestamp.


          This filters charts based on their data collection activity, excluding charts that only have data after the specified time.


          **Format:** Unix timestamp in seconds


          **Use Cases:**

          - Historical analysis of chart availability

          - Find charts that were active during a specific time period

          - Exclude newer charts from results


          **Example:** `before=1640995200` (charts active before January 1, 2022)


          When combined with `after`, you can specify an exact time window:

          `after=1609459200&before=1640995200` (charts active during 2021)


          When not specified, all charts are included regardless of their collection timeline.

          '
        required: false
        schema:
          type: integer
          format: int64
        example: 1640995200
      responses:
        '200':
          description: 'Success. Returns detailed information about the requested context.


            The response is a JSON object containing:

            - Context metadata (name, title, family, units, chart type)

            - List of charts belonging to this context (when options=charts)

            - Dimension information (when options=dimensions)

            - Chart labels (when options=labels)

            - Alert configurations (when options=alerts)

            - Collection statistics (when options=queue)


            **Response Structure:**

            The exact structure depends on the options parameter. With `options=full`, you get complete information including all charts, their dimensions, labels, and current states.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/context'
        '400':
          description: 'Bad request. Common causes:

            - Missing required ''context'' parameter

            - Invalid parameter values

            - Malformed filter patterns

            '
        '404':
          description: 'Not found. The specified context does not exist on this Netdata agent.


            This can occur when:

            - The context name is misspelled

            - The context is not being collected on this agent

            - The context was available but is now obsolete

            '
        '500':
          description: Internal server error. Usually indicates the server is out of memory.
components:
  parameters:
    context:
      name: context
      in: query
      description: The context of the chart as returned by the /charts call.
      required: false
      allowEmptyValue: false
      schema:
        type: string
        format: as returned by /charts
    scopeContexts:
      name: scope_contexts
      in: query
      description: 'A simple pattern limiting the contexts scope of the query. The scope controls both data and metadata response. The default contexts scope is all contexts for which this Agent has data for. Usually the contexts scope is used to slice data on the dashboard (e.g. each context based chart has its own contexts scope, limiting the chart to all the instances of the selected context). Both positive and negative simple pattern expressions are supported.

        '
      required: false
      schema:
        type: string
        format: simple pattern
        default: '*'
    chart_labels_filter:
      name: chart_labels_filter
      in: query
      description: 'Specify the chart label keys and values to match for context queries. All keys/values need to match for the chart to be included in the query. The labels are specified as key1:value1,key2:value2

        '
      required: false
      allowEmptyValue: false
      schema:
        type: string
        format: key1:value1,key2:value2,key3:value3
    chart_label_key:
      name: chart_label_key
      in: query
      description: 'Specify the chart label keys that need to match for context queries as comma separated values. At least one matching key is needed to match the corresponding chart.

        '
      required: false
      allowEmptyValue: false
      schema:
        type: string
        format: key1,key2,key3
    filterContexts:
      name: contexts
      in: query
      description: 'A simple pattern matching the contexts to be queried. This only controls the data response, not the metadata. Both positive and negative simple pattern expressions are supported.

        '
      required: false
      schema:
        type: string
        format: simple pattern
        default: '*'
    contextsQueryOptions:
      name: options
      in: query
      description: 'Options that affect the output of contexts metadata queries.

        * `minify` - Remove unnecessary spaces and newlines from the output to reduce bandwidth.

        * `debug` - Provide additional debugging information in the response.

        * `config` - Include alert configuration information (used by /api/v2/alert_transitions).

        * `instances` - Include alert/context instance information (used by /api/v2/alerts).

        * `values` - Include latest metric values (used by /api/v2/alerts).

        * `summary` - Include summary counters (used by /api/v2/alerts).

        * `mcp` - Format output for Model Context Protocol (MCP) integration.

        * `dimensions` - Include dimension information for each context.

        * `labels` - Include label information for each context.

        * `priorities` - Include priority information for each context.

        * `titles` - Include title information for each context.

        * `rfc3339` - Return timestamps in RFC3339 format (e.g., "2023-01-01T00:00:00Z") instead of Unix timestamps.


        Note: Some options like `retention`, `liveness`, `family`, and `units` are automatically included by specific endpoints and cannot be controlled via this parameter.

        '
      required: false
      allowEmptyValue: false
      schema:
        type: array
        items:
          type: string
          enum:
          - minify
          - debug
          - config
          - instances
          - values
          - summary
          - mcp
          - dimensions
          - labels
          - priorities
          - titles
          - rfc3339
        default: []
    dimensions:
      name: dimensions
      in: query
      description: a simple pattern matching dimensions (use comma or pipe as separator)
      required: false
      allowEmptyValue: true
      schema:
        type: string
    contextOptions1:
      name: options
      in: query
      description: 'Options that affect data generation.

        * `full` or `all` - Include all available information.

        * `charts` - Include chart information.

        * `dimensions` - Include dimension information.

        * `labels` - Include label information.

        * `uuids` - Include UUIDs in the response.

        * `queue` - Include queue information.

        * `flags` - Include internal flags.

        * `deleted` - Include deleted items.

        * `deepscan` - Perform a deep scan for contexts.

        * `rfc3339` - Return timestamps in RFC3339 format instead of Unix timestamps.

        '
      required: false
      schema:
        type: array
        items:
          type: string
          enum:
          - full
          - all
          - charts
          - dimensions
          - labels
          - uuids
          - queue
          - flags
          - deleted
          - deepscan
          - rfc3339
    filterNodes:
      name: nodes
      in: query
      description: 'A simple pattern matching the nodes to be queried. This only controls the data response, not the metadata. The simple pattern is checked against the nodes'' machine guid, node id, hostname. The default nodes selector is all the nodes matched by the nodes scope. Both positive and negative simple pattern expressions are supported.

        '
      required: false
      schema:
        type: string
        format: simple pattern
        default: '*'
    after:
      name: after
      in: query
      description: '`after` and `before` define the time-frame of a query. `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.

        '
      required: false
      schema:
        type: integer
        default: -600
    scopeNodes:
      name: scope_nodes
      in: query
      description: 'A simple pattern limiting the nodes scope of the query. The scope controls both data and metadata response. The simple pattern is checked against the nodes'' machine guid, node id and hostname. The default nodes scope is all nodes for which this Agent has data for. Usually the nodes scope is used to slice the entire dashboard (e.g. the Global Nodes Selector at the Netdata Cloud overview dashboard). Both positive and negative simple pattern expressions are supported.

        '
      required: false
      schema:
        type: string
        format: simple pattern
        default: '*'
    before:
      name: before
      in: query
      description: '`after` and `before` define the time-frame of a query. `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.

        '
      required: false
      schema:
        type: integer
        default: 0
  schemas:
    agents:
      description: 'An array of Agent definitions consulted to compose this response.

        '
      type: array
      items:
        type: object
        properties:
          mg:
            description: The Agent machine GUID.
            type: string
            format: uuid
          nd:
            description: The Agent cloud node ID.
            type: string
            format: uuid
          nm:
            description: The Agent hostname.
            type: string
          ai:
            description: The Agent index ID for this Agent, in this response.
            type: integer
          now:
            description: The current unix epoch timestamp of this Agent.
            type: integer
    context:
      type: object
      properties:
        version:
          type: string
          description: The version of this context. The number are not sequential, but bigger numbers depict a newer object.
        hub_version:
          type: string
          description: The version of this context, as known by hub.
        family:
          type: string
          description: The family of the context. When multiple charts of a context have different families, the netdata server replaces the different parts with [x], so that the context can have only one family.
        title:
          type: string
          description: The title of the context. When multiple charts of a context have different titles, the netdata server replaces the different parts with [x], so that the context can have only one title.
        priority:
          type: number
          description: The relative priority of the context. When multiple contexts have different priorities, the minimum among them is selected as the priority of the context.
        units:
          type: string
          description: The unit of measurement for the values of all dimensions of the context. If multiple charts of context have different units, the latest collected is selected.
        chart_type:
          type: string
          description: The chart type.
          enum:
          - line
          - area
          - stacked
        first_time_t:
          type: number
          description: The UNIX timestamp of the first entry (the oldest) in the database.
        last_time_t:
          type: number
          description: The UNIX timestamp of the latest entry in the database.
        charts:
          type: object
          description: An object containing all the charts available for the chart. This is used as an indexed array. For each pair in the dictionary, the key is the id of the chart and the value provides all details about the chart.
    api:
      description: The version of the API used.
      type: integer
    context2Basic:
      type: object
      properties:
        family:
          type: string
        priority:
          type: integer
        first_entry:
          type: integer
        last_entry:
          type: integer
        live:
          type: boolean
    context_summary:
      type: object
      properties:
        hostname:
          type: string
          description: The hostname of the netdata server.
        machine_guid:
          type: string
          description: The unique installation id of this netdata server.
        node_id:
          type: string
          description: The unique node id of this netdata server at the hub.
          example: nightly
        claim_id:
          type: string
          description: The unique handshake id of this netdata server and the hub.
        host_labels:
          type: object
          description: The host labels associated with this netdata server.
        context:
          type: object
          description: An object containing all the context objects available at the netdata server. This is used as an indexed array. The key of each context object is the id of the context.
          additionalProperties:
            $ref: '#/components/schemas/context'
    versions:
      description: 'Hashes that allow the caller to detect important database changes of Netdata Agents.

        '
      type: object
      properties:
        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
        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
        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
    contexts2:
      description: '`/api/v2/contexts` and `/api/v2/q` response about multi-node contexts hosted by a Netdata Agent.

        '
      type: object
      properties:
        api:
          $ref: '#/components/schemas/api'
        agents:
          $ref: '#/components/schemas/agents'
        versions:
          $ref: '#/components/schemas/versions'
        contexts:
          additionalProperties:
            $ref: '#/components/schemas/context2Basic'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Bearer token authentication for API access when bearer protection is enabled.


        **How to obtain a token:**

        1. Token must be obtained via `/api/v3/bearer_get_token` endpoint

        2. This endpoint is ACLK-only (requires Netdata Cloud access)

        3. Token includes role-based access control and expiration time


        **How to use:**

        ```

        Authorization: Bearer <token>

        ```


        **When required:**

        - When bearer protection is enabled on the agent (via `/api/v3/bearer_protection`)

        - Applies to all APIs with `HTTP_ACCESS_ANONYMOUS_DATA` permission

        - Does not apply to APIs with `HTTP_ACL_NOCHECK` (always public)

        - Does not apply to ACLK-only APIs (use cloud authentication)


        **Token expiration:**

        - Tokens are time-limited and must be renewed periodically

  

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