diff --git a/src/pages/ipa/resources/accounts.mdx b/src/pages/ipa/resources/accounts.mdx
index 9d480ae7..8a078d43 100644
--- a/src/pages/ipa/resources/accounts.mdx
+++ b/src/pages/ipa/resources/accounts.mdx
@@ -201,6 +201,10 @@ echo $response;
"auto_update_version": "0.51.2",
"auto_update_always": false,
"metrics_push_enabled": false,
+ "agent_network_only": false,
+ "dashboard_features": {
+ "agent_network": true
+ },
"embedded_idp_enabled": false,
"local_auth_disabled": false,
"local_mfa_enabled": false,
@@ -256,6 +260,10 @@ echo $response;
"auto_update_version": "string",
"auto_update_always": "boolean",
"metrics_push_enabled": "boolean",
+ "agent_network_only": "boolean",
+ "dashboard_features": {
+ "agent_network": "boolean"
+ },
"embedded_idp_enabled": "boolean",
"local_auth_disabled": "boolean",
"local_mfa_enabled": "boolean",
@@ -601,6 +609,28 @@ echo $response;
Enables or disables client metrics push for all peers in the account
+
+
+
+ Limits the dashboard to the Agent Network surface for this account. Set for accounts created via netbird.ai signups and can be disabled later. Enabling this requires dashboard_features.agent_network to be true in the same request.
+
+
+
+
+
+ Per-account dashboard section visibility overrides. Omitted keys follow the default dashboard behavior.
+
+
+
+
+ Controls the Agent Network menu for the account regardless of the deployment feature flag. When true the menu is shown, when false it is hidden, and when omitted the default behavior applies. Must be true when agent_network_only is enabled.
+
+
+
+
+
+
+
@@ -700,6 +730,10 @@ curl -X PUT https://api.netbird.io/api/accounts/{accountId} \
"auto_update_version": "0.51.2",
"auto_update_always": false,
"metrics_push_enabled": false,
+ "agent_network_only": false,
+ "dashboard_features": {
+ "agent_network": true
+ },
"embedded_idp_enabled": false,
"local_auth_disabled": false,
"local_mfa_enabled": false,
@@ -754,6 +788,10 @@ let data = JSON.stringify({
"auto_update_version": "0.51.2",
"auto_update_always": false,
"metrics_push_enabled": false,
+ "agent_network_only": false,
+ "dashboard_features": {
+ "agent_network": true
+ },
"embedded_idp_enabled": false,
"local_auth_disabled": false,
"local_mfa_enabled": false,
@@ -830,6 +868,10 @@ payload = json.dumps({
"auto_update_version": "0.51.2",
"auto_update_always": false,
"metrics_push_enabled": false,
+ "agent_network_only": false,
+ "dashboard_features": {
+ "agent_network": true
+ },
"embedded_idp_enabled": false,
"local_auth_disabled": false,
"local_mfa_enabled": false,
@@ -906,6 +948,10 @@ func main() {
"auto_update_version": "0.51.2",
"auto_update_always": false,
"metrics_push_enabled": false,
+ "agent_network_only": false,
+ "dashboard_features": {
+ "agent_network": true
+ },
"embedded_idp_enabled": false,
"local_auth_disabled": false,
"local_mfa_enabled": false,
@@ -1001,6 +1047,10 @@ request.body = JSON.dump({
"auto_update_version": "0.51.2",
"auto_update_always": false,
"metrics_push_enabled": false,
+ "agent_network_only": false,
+ "dashboard_features": {
+ "agent_network": true
+ },
"embedded_idp_enabled": false,
"local_auth_disabled": false,
"local_mfa_enabled": false,
@@ -1059,6 +1109,10 @@ RequestBody body = RequestBody.create(mediaType, '{
"auto_update_version": "0.51.2",
"auto_update_always": false,
"metrics_push_enabled": false,
+ "agent_network_only": false,
+ "dashboard_features": {
+ "agent_network": true
+ },
"embedded_idp_enabled": false,
"local_auth_disabled": false,
"local_mfa_enabled": false,
@@ -1133,6 +1187,10 @@ curl_setopt_array($curl, array(
"auto_update_version": "0.51.2",
"auto_update_always": false,
"metrics_push_enabled": false,
+ "agent_network_only": false,
+ "dashboard_features": {
+ "agent_network": true
+ },
"embedded_idp_enabled": false,
"local_auth_disabled": false,
"local_mfa_enabled": false,
@@ -1202,6 +1260,10 @@ echo $response;
"auto_update_version": "0.51.2",
"auto_update_always": false,
"metrics_push_enabled": false,
+ "agent_network_only": false,
+ "dashboard_features": {
+ "agent_network": true
+ },
"embedded_idp_enabled": false,
"local_auth_disabled": false,
"local_mfa_enabled": false,
@@ -1255,6 +1317,10 @@ echo $response;
"auto_update_version": "string",
"auto_update_always": "boolean",
"metrics_push_enabled": "boolean",
+ "agent_network_only": "boolean",
+ "dashboard_features": {
+ "agent_network": "boolean"
+ },
"embedded_idp_enabled": "boolean",
"local_auth_disabled": "boolean",
"local_mfa_enabled": "boolean",
diff --git a/src/pages/ipa/resources/agent-network.mdx b/src/pages/ipa/resources/agent-network.mdx
index 571079b0..e75093af 100644
--- a/src/pages/ipa/resources/agent-network.mdx
+++ b/src/pages/ipa/resources/agent-network.mdx
@@ -3673,6 +3673,7 @@ echo $response;
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
"skip_tls_verification": false,
+ "metadata_disabled": false,
"created_at": "2026-04-26T10:30:00Z",
"updated_at": "2026-04-26T10:30:00Z"
}
@@ -3704,6 +3705,7 @@ echo $response;
"identity_header_groups": "string",
"enabled": "boolean",
"skip_tls_verification": "boolean",
+ "metadata_disabled": "boolean",
"created_at": "string",
"updated_at": "string"
}
@@ -3805,6 +3807,11 @@ echo $response;
Skip upstream TLS certificate verification when the proxy dials this provider's URL. For self-hosted / internal gateways behind a private or self-signed certificate. Defaults to false. When omitted on update, the stored value is left unchanged.
+
+
+
+ Disable identity metadata injection (the caller's user + authorizing group) for this provider. Defaults to false (metadata is injected). When omitted on update, the stored value is left unchanged.
+
@@ -3837,7 +3844,8 @@ curl -X POST https://api.netbird.io/api/agent-network/providers \
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
}'
```
@@ -3862,7 +3870,8 @@ let data = JSON.stringify({
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
});
let config = {
method: 'post',
@@ -3909,7 +3918,8 @@ payload = json.dumps({
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
})
headers = {
'Content-Type': 'application/json',
@@ -3956,7 +3966,8 @@ func main() {
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
}`)
client := &http.Client {
}
@@ -4022,7 +4033,8 @@ request.body = JSON.dump({
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
})
response = https.request(request)
puts response.read_body
@@ -4051,7 +4063,8 @@ RequestBody body = RequestBody.create(mediaType, '{
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
}');
Request request = new Request.Builder()
.url("https://api.netbird.io/api/agent-network/providers")
@@ -4096,7 +4109,8 @@ curl_setopt_array($curl, array(
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
@@ -4135,6 +4149,7 @@ echo $response;
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
"skip_tls_verification": false,
+ "metadata_disabled": false,
"created_at": "2026-04-26T10:30:00Z",
"updated_at": "2026-04-26T10:30:00Z"
}
@@ -4164,6 +4179,7 @@ echo $response;
"identity_header_groups": "string",
"enabled": "boolean",
"skip_tls_verification": "boolean",
+ "metadata_disabled": "boolean",
"created_at": "string",
"updated_at": "string"
}
@@ -4363,6 +4379,7 @@ echo $response;
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
"skip_tls_verification": false,
+ "metadata_disabled": false,
"created_at": "2026-04-26T10:30:00Z",
"updated_at": "2026-04-26T10:30:00Z"
}
@@ -4392,6 +4409,7 @@ echo $response;
"identity_header_groups": "string",
"enabled": "boolean",
"skip_tls_verification": "boolean",
+ "metadata_disabled": "boolean",
"created_at": "string",
"updated_at": "string"
}
@@ -4500,6 +4518,11 @@ echo $response;
Skip upstream TLS certificate verification when the proxy dials this provider's URL. For self-hosted / internal gateways behind a private or self-signed certificate. Defaults to false. When omitted on update, the stored value is left unchanged.
+
+
+
+ Disable identity metadata injection (the caller's user + authorizing group) for this provider. Defaults to false (metadata is injected). When omitted on update, the stored value is left unchanged.
+
@@ -4532,7 +4555,8 @@ curl -X PUT https://api.netbird.io/api/agent-network/providers/{providerId} \
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
}'
```
@@ -4557,7 +4581,8 @@ let data = JSON.stringify({
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
});
let config = {
method: 'put',
@@ -4604,7 +4629,8 @@ payload = json.dumps({
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
})
headers = {
'Content-Type': 'application/json',
@@ -4651,7 +4677,8 @@ func main() {
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
}`)
client := &http.Client {
}
@@ -4717,7 +4744,8 @@ request.body = JSON.dump({
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
})
response = https.request(request)
puts response.read_body
@@ -4746,7 +4774,8 @@ RequestBody body = RequestBody.create(mediaType, '{
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
}');
Request request = new Request.Builder()
.url("https://api.netbird.io/api/agent-network/providers/{providerId}")
@@ -4791,7 +4820,8 @@ curl_setopt_array($curl, array(
"identity_header_user_id": "x-bf-dim-netbird_user_id",
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
- "skip_tls_verification": false
+ "skip_tls_verification": false,
+ "metadata_disabled": false
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
@@ -4830,6 +4860,7 @@ echo $response;
"identity_header_groups": "x-bf-dim-netbird_groups",
"enabled": true,
"skip_tls_verification": false,
+ "metadata_disabled": false,
"created_at": "2026-04-26T10:30:00Z",
"updated_at": "2026-04-26T10:30:00Z"
}
@@ -4859,6 +4890,7 @@ echo $response;
"identity_header_groups": "string",
"enabled": "boolean",
"skip_tls_verification": "boolean",
+ "metadata_disabled": "boolean",
"created_at": "string",
"updated_at": "string"
}
diff --git a/src/pages/ipa/resources/events.mdx b/src/pages/ipa/resources/events.mdx
index 970c8f42..a4c6aaa3 100644
--- a/src/pages/ipa/resources/events.mdx
+++ b/src/pages/ipa/resources/events.mdx
@@ -237,6 +237,14 @@ echo $response;
Filter by reporter ID
+
+ Filter by source endpoint ID
+
+
+
+ Filter by destination endpoint ID
+
+
Filter by protocol
@@ -467,6 +475,11 @@ echo $response;
"rx_packets": 5,
"tx_bytes": 1234,
"tx_packets": 5,
+ "num_of_starts": 3,
+ "num_of_ends": 4,
+ "num_of_drops": 5,
+ "window_start": {},
+ "window_end": {},
"events": [
{
"type": "TYPE_START",
@@ -542,6 +555,11 @@ echo $response;
"rx_packets": "integer",
"tx_bytes": "integer",
"tx_packets": "integer",
+ "num_of_starts": "integer",
+ "num_of_ends": "integer",
+ "num_of_drops": "integer",
+ "window_start": "string",
+ "window_end": "string",
"events": [
{
"type": "string",