Documentation
Documentation
https://learn.netdata.cloud/docs/rest-api/api
Authentication
https://learn.netdata.cloud/docs/netdata-cloud/authentication-&-authorization/api-tokens
openapi: 3.0.0
info:
title: Netdata agent nodes 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: nodes
description: Everything related to monitored nodes
paths:
/api/v2/nodes:
get:
deprecated: true
operationId: getNodes2
tags:
- nodes
summary: Nodes Info v2
description: 'Get a list of 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:
description: '`/api/v2/nodes` response for all nodes hosted by a Netdata Agent.
'
type: object
properties:
api:
$ref: '#/components/schemas/api'
agents:
$ref: '#/components/schemas/agents'
versions:
$ref: '#/components/schemas/versions'
nodes:
type: array
items:
$ref: '#/components/schemas/nodeFull'
/api/v3/nodes:
get:
operationId: getNodes3
tags:
- nodes
summary: Nodes Info v3
description: 'Get a list of 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:
description: '`/api/v3/nodes` response for all nodes hosted by a Netdata Agent.
'
type: object
properties:
api:
$ref: '#/components/schemas/api'
agents:
$ref: '#/components/schemas/agents'
versions:
$ref: '#/components/schemas/versions'
nodes:
type: array
items:
$ref: '#/components/schemas/nodeFull'
/api/v1/info:
get:
deprecated: true
operationId: getNodeInfo1
tags:
- nodes
summary: Node Info v1
description: "The info endpoint returns basic information about netdata. It provides:\n* netdata version\n* netdata unique id\n* list of hosts mirrored (includes itself)\n* Operating System, Virtualization, K8s nodes and Container technology information\n* List of active collector plugins and modules\n* Streaming information\n* number of alarms in the host\n * number of alarms in normal state\n * number of alarms in warning state\n * number of alarms in critical state\n\n**Security & Access Control:**\n- \U0001F4CA **Public Data API** - Bearer token optional, IP-based ACL restrictions apply\n- **Default Access:** Public (no authentication required)\n- **Bearer Protection:** When enabled via `/api/v3/bearer_protection`, requires bearer token\n- **IP Restrictions:** Subject to `allow dashboard from` in netdata.conf\n- **Access Methods:** Direct HTTP/HTTPS, Netdata Cloud, external tools\n"
security:
- {}
- bearerAuth: []
responses:
'200':
description: netdata basic information.
content:
application/json:
schema:
$ref: '#/components/schemas/info'
'503':
description: netdata daemon not ready (used for health checks).
/api/v3/info:
get:
operationId: info_v3
tags:
- nodes
summary: Retrieve detailed Netdata agent information across all nodes
description: 'Returns comprehensive information about Netdata agents running across the monitored infrastructure. This endpoint provides detailed metadata about each agent including version information, capabilities, collection status, and system configuration.
**What is Netdata Agent Information?**
The `info` endpoint provides detailed metadata about the Netdata monitoring agent itself, including:
- Agent version and build information
- System capabilities and features enabled
- Collection status and health
- Host configuration and labels
- Database information (storage, retention)
- Plugin and collector status
- Operating system details
- Hardware information
**Difference from /api/v3/nodes:**
- **`/api/v3/nodes`:** Returns lightweight node list with basic identification
- **`/api/v3/info`:** Returns comprehensive agent details with full capabilities and configuration
**Multi-Node Support:**
When queried on a Netdata Parent, this endpoint can return information for:
- The parent agent itself
- All child agents (streaming to the parent)
- Filtered subsets using scope_nodes/nodes parameters
**Use Cases:**
- **Infrastructure Inventory:** Complete catalog of all Netdata installations
- **Version Audits:** Find agents that need updates
- **Capability Discovery:** What features are available on each node
- **Health Monitoring:** Verify agent collection status
- **Configuration Management:** Understand how agents are configured
- **Troubleshooting:** Diagnose agent-specific issues
- **License/Compliance:** Track Netdata deployments
**Information Categories:**
**1. Agent Identity:**
- Unique agent ID (machine_guid)
- Hostname
- Agent version and commit
- Build information
**2. System Information:**
- Operating system and kernel
- CPU architecture
- Virtualization platform
- Container runtime (if applicable)
**3. Database & Storage:**
- Database mode (dbengine, ram, alloc)
- Retention period
- Storage capacity
- Disk space usage
**4. Features & Capabilities:**
- ML/anomaly detection status
- ACLK (cloud connection) status
- Streaming capabilities
- Available collectors
**5. Collection Status:**
- Number of charts collecting
- Number of dimensions
- Collection frequency
- Last collection timestamp
**6. Host Labels:**
- Custom labels assigned to the host
- Automatic labels (OS, architecture, etc.)
- Cloud provider information (if detected)
**Performance Characteristics:**
- Fast query (primarily metadata lookups)
- No time-series data processing
- Results can be cached for reasonable duration
- Supports filtering by node patterns
**Example Usage:**
```
# Get info for all nodes
GET /api/v3/info
# Get info for specific nodes
GET /api/v3/info?nodes=web-server-01,db-server-01
# Get info for nodes matching pattern
GET /api/v3/info?scope_nodes=prod-*
# Include specific options
GET /api/v3/info?options=full
```
**Response Format:**
Returns JSON with agent information grouped by node, including complete details about each agent''s capabilities, configuration, and current status.
**Security & Access Control:**
- 🔓 **Always Public API** - This endpoint is always accessible without authentication
- **No Restrictions:** Not subject to bearer protection or IP-based ACL restrictions
- **No Authentication:** Cannot be restricted by any configuration
- **Access:** Available to anyone who can reach the agent''s HTTP endpoint
'
parameters:
- name: scope_nodes
in: query
description: 'Filter to specific nodes using simple pattern matching.
**Pattern Syntax:**
- `*` matches any characters
- Space-separated list for multiple patterns
- `!` prefix to exclude
- Combine with: `web* !web-test*`
**Examples:**
- `scope_nodes=web*` - All web servers
- `scope_nodes=prod-*` - All production nodes
- `scope_nodes=* !test*` - All except test nodes
**Use Cases:**
- Focus on specific infrastructure tiers
- Exclude development/test environments
- Group by naming conventions
When not specified, returns info for all nodes.
'
required: false
schema:
type: string
example: prod-*
- name: nodes
in: query
description: 'Filter to specific nodes by exact names.
Unlike `scope_nodes`, this requires exact node names (no patterns).
**Format:** Comma or pipe-separated list
**Examples:**
- `nodes=web-server-01` - Single node
- `nodes=web-server-01,db-server-01` - Multiple nodes
- `nodes=web-01|web-02` - Pipe separator
**Best Practice:**
- Use `nodes` when you know exact names
- Use `scope_nodes` for pattern-based filtering
When not specified, returns info for all nodes matching scope_nodes.
'
required: false
schema:
type: string
example: web-server-01,db-server-01
- name: options
in: query
description: 'Control the level of detail and what information to include in the response.
**Available Options:**
- `full` or `all` - Include all available information
- `labels` - Include host labels
- `uuids` - Include UUIDs and identifiers
- `deleted` - Include information about deleted/offline nodes
- `hidden` - Include hidden agents
**Examples:**
- `options=full` - Complete information
- `options=labels,uuids` - Labels and identifiers
- `options=labels|uuids` - Pipe separator also works
**Default Behavior:**
When not specified, returns standard information without deleted/hidden nodes and without excessive detail.
**Use Cases:**
- Inventory systems need `full` detail
- Label-based filtering needs `labels`
- Historical analysis may need `deleted`
'
required: false
schema:
type: string
example: full,labels
- $ref: '#/components/parameters/after'
- $ref: '#/components/parameters/before'
- name: timeout
in: query
description: 'Maximum time in milliseconds to wait for the query to complete.
**Format:** Integer (milliseconds)
**Default:** Server default timeout
**Example:**
- `timeout=30000` - 30 second timeout
For agent info queries, timeouts are rarely needed as this is a fast metadata-only operation. However, on very large multi-node setups, you may want to limit query time.
'
required: false
schema:
type: integer
format: int64
minimum: 1000
example: 30000
- name: cardinality
in: query
description: 'Limit the number of nodes returned.
**Format:** Integer (maximum nodes)
**Default:** No limit
**Example:**
- `cardinality=100` - Return at most 100 nodes
**Use Cases:**
- Prevent huge responses in very large infrastructures
- Get a sample of nodes for testing
- Dashboard widgets with limited display space
When exceeded, response indicates how many nodes were omitted.
'
required: false
schema:
type: integer
minimum: 1
example: 100
responses:
'200':
description: "Success. Returns detailed Netdata agent information.\n\n**Response Structure:**\nThe response is a JSON object containing comprehensive agent information grouped by node.\n\n**Top-Level Structure:**\n- `agents`: Array of agent information objects, one per node\n\n**Per-Agent Information Includes:**\n\n**1. Identity:**\n- `machine_guid`: Unique agent identifier (UUID)\n- `hostname`: Node hostname\n- `agent_version`: Netdata version string\n- `agent_commit`: Git commit hash of build\n\n**2. System Information:**\n- `os_name`: Operating system name\n- `os_version`: OS version\n- `kernel_name`: Kernel name\n- `kernel_version`: Kernel version\n- `architecture`: CPU architecture (x86_64, aarch64, etc.)\n- `virtualization`: Virtualization platform (if any)\n- `container`: Container runtime (Docker, LXC, etc.)\n- `container_detection`: How container was detected\n\n**3. Database & Storage:**\n- `database_mode`: Storage mode (dbengine, ram, alloc, none)\n- `database_retention`: Data retention period in seconds\n- `database_size`: Current database size in bytes\n- `page_cache_size`: Page cache size\n- `metrics_stored`: Number of unique metrics\n\n**4. Features & Capabilities:**\n- `ml_enabled`: Machine learning / anomaly detection enabled\n- `ml_models_running`: Number of ML models active\n- `aclk_available`: Cloud connectivity available\n- `aclk_status`: Cloud connection status\n- `stream_compression`: Streaming compression supported\n- `web_enabled`: Web server enabled\n\n**5. Collection Status:**\n- `charts_count`: Number of charts being collected\n- `dimensions_count`: Number of dimensions (time-series)\n- `collectors_count`: Number of active collectors\n- `update_every`: Collection frequency in seconds\n- `history`: Retention in seconds\n- `memory_mode`: Memory storage mode\n\n**6. Host Labels:**\n- `host_labels`: Object containing all host labels\n - Includes automatic labels (_os_name, _architecture, etc.)\n - Includes custom labels assigned by user\n - May include cloud provider labels\n\n**7. Timestamps:**\n- `first_time_t`: Timestamp of oldest data point\n- `last_time_t`: Timestamp of newest data point\n- `now`: Current server time\n\n**8. Streaming Information (if applicable):**\n- `stream_status`: Streaming status (parent/child)\n- `stream_parents`: Parent nodes (if child)\n- `stream_children`: Child nodes (if parent)\n\n**Example Response Structure:**\n```json\n{\n \"agents\": [\n {\n \"machine_guid\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"hostname\": \"web-server-01\",\n \"agent_version\": \"v1.40.0\",\n \"os_name\": \"ubuntu\",\n \"os_version\": \"22.04\",\n \"kernel_version\": \"5.15.0\",\n \"architecture\": \"x86_64\",\n \"database_mode\": \"dbengine\",\n \"database_retention\": 86400,\n \"ml_enabled\": true,\n \"charts_count\": 425,\n \"dimensions_count\": 2850,\n \"update_every\": 1,\n \"host_labels\": {\n \"_os_name\": \"ubuntu\",\n \"_architecture\": \"x86_64\",\n \"environment\": \"production\",\n \"tier\": \"web\"\n }\n }\n ]\n}\n```\n\n**Response Characteristics:**\n- Content-Type: application/json\n- Can be cached (agent info changes infrequently)\n- Complete metadata without time-series data\n- Lightweight and fast to generate\n\n**Filtering:**\nResponse respects scope_nodes/nodes filters and cardinality limits.\n"
content:
application/json:
schema:
type: object
description: Comprehensive Netdata agent information
'400':
description: 'Bad request. Common causes:
- Invalid parameter values
- Malformed filter patterns
'
'500':
description: Internal server error during info retrieval.
/api/v3/node_instances:
get:
operationId: node_instances_v3
tags:
- nodes
summary: Retrieve chart instances organized by node across the infrastructure
description: "Returns information about all chart instances grouped by node. This endpoint provides a comprehensive view of what metrics are being collected on each node, organized by chart instances.\n\n**What are Node Instances?**\nNode instances represent the specific chart instances (individual monitoring targets) on each node:\n- Each node may have multiple instances of the same chart type\n- Examples: Multiple disks (sda, sdb, sdc), multiple network interfaces (eth0, eth1)\n- Instances represent the specific entities being monitored\n\n**Example:**\nFor disk monitoring:\n- Node: `web-server-01`\n - Instances: `disk.sda`, `disk.sdb`, `disk.nvme0n1`\n- Node: `db-server-01`\n - Instances: `disk.sda`, `disk.sdb`\n\n**Difference from Other Endpoints:**\n- **`/api/v3/nodes`:** Returns lightweight node list\n- **`/api/v3/info`:** Returns detailed agent information\n- **`/api/v3/node_instances`:** Returns what chart instances each node has (what's being monitored)\n- **`/api/v3/contexts`:** Returns contexts aggregated across all nodes\n\n**Use Cases:**\n- **Infrastructure Discovery:** What devices/services are monitored on each node\n- **Capacity Planning:** Understand monitoring coverage per node\n- **Configuration Verification:** Verify expected charts are collecting\n- **Collector Status:** See which collectors are active per node\n- **Instance Inventory:** Complete catalog of monitored entities\n- **Troubleshooting:** Find which nodes monitor specific instances\n\n**Response Organization:**\nResults are organized hierarchically:\n1. **By Node:** Top-level grouping by node hostname\n2. **By Context:** Charts grouped by their context (e.g., disk.space)\n3. **By Instance:** Individual chart instances within each context\n\n**Performance Characteristics:**\n- Medium query cost (metadata aggregation across nodes)\n- Response size grows with number of nodes and instances\n- Can be filtered to reduce response size\n- Results can be cached (instances change infrequently)\n\n**Example Query Patterns:**\n```\n# Get all instances across all nodes\nGET /api/v3/node_instances\n\n# Get instances for specific nodes\nGET /api/v3/node_instances?nodes=web-server-01,db-server-01\n\n# Get instances for nodes matching pattern\nGET /api/v3/node_instances?scope_nodes=prod-*\n\n# Limit response size\nGET /api/v3/node_instances?cardinality=100\n```\n\n**Response Includes:**\n- Node identification (hostname, machine_guid)\n- Agent information (version, capabilities)\n- All chart instances organized by context\n- Instance-specific metadata (labels, units, dimensions)\n- Instance collection status\n\n**Security & Access Control:**\n- \U0001F4CA **Public Data API** - Bearer token optional, IP-based ACL restrictions apply\n- **Default Access:** Public (no authentication required)\n- **Bearer Protection:** When enabled via `/api/v3/bearer_protection`, requires bearer token\n- **IP Restrictions:** Subject to `allow dashboard from` in netdata.conf\n- **Access Methods:** Direct HTTP/HTTPS, Netdata Cloud, external tools\n"
security:
- {}
- bearerAuth: []
parameters:
- name: scope_nodes
in: query
description: 'Filter to specific nodes using pattern matching.
**Pattern Syntax:**
- `*` matches any characters
- Space-separated for multiple patterns
- `!` prefix excludes
- Example: `prod-* !prod-test*`
**Examples:**
- `scope_nodes=web*` - All web servers
- `scope_nodes=db-* cache-*` - Database and cache nodes
- `scope_nodes=* !test*` - All except test nodes
When not specified, returns instances from all nodes.
'
required: false
schema:
type: string
example: prod-*
- name: nodes
in: query
description: 'Filter to specific nodes by exact names.
**Format:** Comma or pipe-separated exact names
**Examples:**
- `nodes=web-server-01` - Single node
- `nodes=web-01,db-01` - Multiple nodes
**Best Practice:** Use `nodes` for exact names, `scope_nodes` for patterns.
When not specified, returns instances from all nodes.
'
required: false
schema:
type: string
example: web-server-01,db-server-01
- name: options
in: query
description: 'Control response detail level and included information.
**Available Options:**
- `full` or `all` - Complete instance information
- `labels` - Include instance labels
- `uuids` - Include UUIDs and identifiers
- `deleted` - Include deleted/offline instances
- `hidden` - Include hidden instances
- `instances` or `charts` - Include chart instances (default)
- `metrics` or `dimensions` - Include dimension details
**Examples:**
- `options=full` - All information
- `options=labels,dimensions` - Labels and dimension details
- `options=labels|uuids` - Pipe separator
**Default:** Returns basic instance information without excessive detail.
'
required: false
schema:
type: string
example: full,labels,dimensions
- $ref: '#/components/parameters/after'
- $ref: '#/components/parameters/before'
- name: timeout
in: query
description: 'Maximum time in milliseconds to wait for query completion.
**Format:** Integer (milliseconds)
**Default:** Server default timeout
**Example:** `timeout=30000` (30 seconds)
For large multi-node infrastructures, you may need to increase timeout to allow complete instance enumeration.
'
required: false
schema:
type: integer
format: int64
minimum: 1000
example: 30000
- name: cardinality
in: query
description: 'Limit the number of instances returned per node.
**Format:** Integer (max instances per node)
**Default:** No limit
**Example:** `cardinality=500` - At most 500 instances per node
**Use Cases:**
- Prevent huge responses from nodes with many instances
- Sample instances for testing
- Dashboard widgets with limited space
When exceeded, response indicates how many instances were omitted per node.
'
required: false
schema:
type: integer
minimum: 1
example: 500
responses:
'200':
description: "Success. Returns chart instances organized by node.\n\n**Response Structure:**\n```json\n{\n \"nodes\": [\n {\n \"machine_guid\": \"uuid\",\n \"hostname\": \"web-server-01\",\n \"agent_version\": \"v1.40.0\",\n \"contexts\": [\n {\n \"context\": \"disk.space\",\n \"instances\": [\n {\n \"id\": \"disk.sda\",\n \"name\": \"disk sda\",\n \"family\": \"sda\",\n \"labels\": {...},\n \"dimensions\": [...],\n \"status\": \"active\"\n },\n {\n \"id\": \"disk.sdb\",\n \"name\": \"disk sdb\",\n \"family\": \"sdb\",\n \"labels\": {...},\n \"dimensions\": [...],\n \"status\": \"active\"\n }\n ]\n },\n {\n \"context\": \"net.net\",\n \"instances\": [\n {\n \"id\": \"net.eth0\",\n \"name\": \"eth0\",\n \"family\": \"eth0\",\n \"labels\": {...},\n \"dimensions\": [...],\n \"status\": \"active\"\n }\n ]\n }\n ]\n }\n ]\n}\n```\n\n**Response Fields:**\n\n**Node Level:**\n- `machine_guid`: Unique node identifier\n- `hostname`: Node hostname\n- `agent_version`: Netdata version on this node\n- `contexts`: Array of contexts with their instances\n\n**Context Level:**\n- `context`: Context name (e.g., \"disk.space\", \"system.cpu\")\n- `instances`: Array of chart instances for this context\n\n**Instance Level:**\n- `id`: Chart instance ID (e.g., \"disk.sda\")\n- `name`: Human-readable instance name\n- `family`: Chart family/grouping\n- `labels`: Instance-specific labels\n- `dimensions`: Array of dimensions (metrics) collected\n- `status`: Collection status (active, stale, offline)\n- `units`: Unit of measurement\n- `chart_type`: Chart visualization type\n- `priority`: Display priority\n\n**Dimension Information (when options=dimensions):**\n- `id`: Dimension identifier\n- `name`: Dimension display name\n- `algorithm`: Aggregation algorithm\n- `multiplier`, `divisor`: Value transformation\n\n**Label Information (when options=labels):**\n- Instance labels provide additional metadata\n- Examples: disk_type=ssd, interface_speed=1000, mount_point=/\n\n**Response Characteristics:**\n- Content-Type: application/json\n- Cacheable (instances change infrequently)\n- Size grows with number of nodes and instances\n- Organized hierarchically for easy navigation\n\n**Filtering:**\nResponse respects scope_nodes/nodes filters and cardinality limits.\n"
content:
application/json:
schema:
type: object
description: Chart instances organized by node
'400':
description: 'Bad request. Common causes:
- Invalid parameter values
- Malformed filter patterns
'
'500':
description: Internal server error during instance enumeration.
/api/v3/stream_path:
get:
operationId: stream_path
tags:
- nodes
summary: Retrieve streaming topology path for nodes
description: "**V3 SPECIFIC ENDPOINT**\n\nReturns the streaming path and topology showing how nodes are connected in the Netdata infrastructure.\nThis endpoint reveals the parent-child relationships between nodes, showing which nodes stream data\nto which parents, creating a hierarchical view of the monitoring infrastructure.\n\n**Streaming Topology:**\n- **Parent nodes**: Nodes that receive streaming data from child nodes\n- **Child nodes**: Nodes that send their metrics to parent nodes for centralization\n- **Streaming path**: The complete chain from child → parent → grandparent (if any)\n\n**Use Cases:**\n- Understand infrastructure hierarchy and data flow\n- Identify parent nodes that aggregate data from multiple children\n- Debug streaming connectivity issues\n- Plan infrastructure changes and reorganization\n- Visualize the complete monitoring topology\n\n**Common Usage Patterns:**\n\n1. **Get complete streaming topology:**\n ```\n /api/v3/stream_path\n ```\n\n2. **Filter by specific nodes:**\n ```\n /api/v3/stream_path?nodes=child-node-1|child-node-2\n ```\n\n3. **Scope to nodes matching pattern:**\n ```\n /api/v3/stream_path?scope_nodes=prod-*\n ```\n\n**Response Structure:**\nThe response includes nodes organized by their streaming relationships, showing:\n- Node hostnames and machine GUIDs\n- Parent-child relationships\n- Streaming connection status (live/stale/offline)\n- Complete path from each child to root parent\n\n**Security & Access Control:**\n- \U0001F4CA **Public Data API** - Bearer token optional, IP-based ACL restrictions apply\n- **Default Access:** Public (no authentication required)\n- **Bearer Protection:** When enabled via `/api/v3/bearer_protection`, requires bearer token\n- **IP Restrictions:** Subject to `allow dashboard from` in netdata.conf\n- **Access Methods:** Direct HTTP/HTTPS, Netdata Cloud, external tools\n"
security:
- {}
- bearerAuth: []
parameters:
- name: scope_nodes
in: query
required: false
description: 'Simple pattern to match node hostnames for scope filtering. Uses Netdata''s simple pattern
matching (not regex). Matched nodes define the scope for topology analysis.
**Pattern Syntax:**
- `*` matches any number of characters
- Use `|` to separate multiple patterns (OR logic)
- Matches are case-insensitive
- No regex support - only simple wildcards
**Examples:**
- `prod-*` - All production nodes
- `*-web-*` - All web server nodes
- `db-*|cache-*` - All database or cache nodes
- `*` - All nodes (default)
'
schema:
type: string
default: '*'
example: prod-*
- name: nodes
in: query
required: false
description: 'Simple pattern to filter which nodes to include in the streaming path response.
After scope is determined, this filters the results. Uses the same pattern syntax as scope_nodes.
**Difference from scope_nodes:**
- `scope_nodes` defines what nodes to analyze for relationships
- `nodes` filters which nodes to include in the output
**Examples:**
- `web-*` - Only show web server nodes in output
- `parent-*` - Only show parent nodes
- Specific hostnames
# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/netdata/refs/heads/main/openapi/netdata-nodes-api-openapi.yml