diff --git a/src/pages/ipa/resources/accounts.mdx b/src/pages/ipa/resources/accounts.mdx
index 84472ad6..de38498e 100644
--- a/src/pages/ipa/resources/accounts.mdx
+++ b/src/pages/ipa/resources/accounts.mdx
@@ -181,7 +181,8 @@ echo $response;
"peer_approval_enabled": true,
"network_traffic_logs_enabled": true,
"network_traffic_packet_counter_enabled": true
- }
+ },
+ "lazy_connection_enabled": true
},
"domain": "netbird.io",
"domain_category": "private",
@@ -212,7 +213,8 @@ echo $response;
"peer_approval_enabled": "boolean",
"network_traffic_logs_enabled": "boolean",
"network_traffic_packet_counter_enabled": "boolean"
- }
+ },
+ "lazy_connection_enabled": "boolean"
},
"domain": "string",
"domain_category": "string",
@@ -497,6 +499,11 @@ echo $response;
+
+
+
+ Enables or disables experimental lazy connection
+
@@ -535,7 +542,8 @@ curl -X PUT https://api.netbird.io/api/accounts/{accountId} \
"peer_approval_enabled": true,
"network_traffic_logs_enabled": true,
"network_traffic_packet_counter_enabled": true
- }
+ },
+ "lazy_connection_enabled": true
}
}'
```
@@ -561,7 +569,8 @@ let data = JSON.stringify({
"peer_approval_enabled": true,
"network_traffic_logs_enabled": true,
"network_traffic_packet_counter_enabled": true
- }
+ },
+ "lazy_connection_enabled": true
}
});
let config = {
@@ -609,7 +618,8 @@ payload = json.dumps({
"peer_approval_enabled": true,
"network_traffic_logs_enabled": true,
"network_traffic_packet_counter_enabled": true
- }
+ },
+ "lazy_connection_enabled": true
}
})
headers = {
@@ -657,7 +667,8 @@ func main() {
"peer_approval_enabled": true,
"network_traffic_logs_enabled": true,
"network_traffic_packet_counter_enabled": true
- }
+ },
+ "lazy_connection_enabled": true
}
}`)
client := &http.Client {
@@ -723,7 +734,8 @@ request.body = JSON.dump({
"peer_approval_enabled": true,
"network_traffic_logs_enabled": true,
"network_traffic_packet_counter_enabled": true
- }
+ },
+ "lazy_connection_enabled": true
}
})
response = https.request(request)
@@ -753,7 +765,8 @@ RequestBody body = RequestBody.create(mediaType, '{
"peer_approval_enabled": true,
"network_traffic_logs_enabled": true,
"network_traffic_packet_counter_enabled": true
- }
+ },
+ "lazy_connection_enabled": true
}
}');
Request request = new Request.Builder()
@@ -799,7 +812,8 @@ curl_setopt_array($curl, array(
"peer_approval_enabled": true,
"network_traffic_logs_enabled": true,
"network_traffic_packet_counter_enabled": true
- }
+ },
+ "lazy_connection_enabled": true
}
}',
CURLOPT_HTTPHEADER => array(
@@ -840,7 +854,8 @@ echo $response;
"peer_approval_enabled": true,
"network_traffic_logs_enabled": true,
"network_traffic_packet_counter_enabled": true
- }
+ },
+ "lazy_connection_enabled": true
},
"domain": "netbird.io",
"domain_category": "private",
@@ -869,7 +884,8 @@ echo $response;
"peer_approval_enabled": "boolean",
"network_traffic_logs_enabled": "boolean",
"network_traffic_packet_counter_enabled": "boolean"
- }
+ },
+ "lazy_connection_enabled": "boolean"
},
"domain": "string",
"domain_category": "string",
diff --git a/src/pages/ipa/resources/events.mdx b/src/pages/ipa/resources/events.mdx
index 65f05426..18cd79d6 100644
--- a/src/pages/ipa/resources/events.mdx
+++ b/src/pages/ipa/resources/events.mdx
@@ -232,6 +232,10 @@ echo $response;
Filter by user ID
+
+ Filter by reporter ID
+
+
Filter by protocol
@@ -249,7 +253,7 @@ echo $response;
- Filters events with a partial match on user email, source and destination names and source and destination addresses
+ Case-insensitive partial match on user email, source/destination names, and source/destination addresses
@@ -416,11 +420,8 @@ echo $response;
{
"data": [
{
- "id": "18e204d6-f7c6-405d-8025-70becb216add",
"flow_id": "61092452-b17c-4b14-b7cf-a2158c549826",
"reporter_id": "ch8i4ug6lnn4g9hqv7m0",
- "timestamp": "2025-03-20T16:23:58.125397Z",
- "receive_timestamp": "2025-03-20T16:23:58.125397Z",
"source": {
"id": "ch8i4ug6lnn4g9hqv7m0",
"type": "PEER",
@@ -433,9 +434,6 @@ echo $response;
"address": "100.64.0.10:51820",
"dns_label": "*.mydomain.com"
},
- "user_id": "google-oauth2|123456789012345678901",
- "user_email": "alice@netbird.io",
- "user_name": "Alice Smith",
"destination": {
"id": "ch8i4ug6lnn4g9hqv7m0",
"type": "PEER",
@@ -448,17 +446,31 @@ echo $response;
"address": "100.64.0.10:51820",
"dns_label": "*.mydomain.com"
},
+ "user": {
+ "id": "google-oauth2|123456789012345678901",
+ "email": "alice@netbird.io",
+ "name": "Alice Smith"
+ },
+ "policy": {
+ "id": "ch8i4ug6lnn4g9hqv7m0",
+ "name": "All to All"
+ },
+ "icmp": {
+ "type": 8,
+ "code": 0
+ },
"protocol": 6,
- "type": "TYPE_START",
"direction": "INGRESS",
"rx_bytes": 1234,
"rx_packets": 5,
"tx_bytes": 1234,
"tx_packets": 5,
- "policy_id": "ch8i4ug6lnn4g9hqv7m0",
- "policy_name": "All to All",
- "icmp_type": 8,
- "icmp_code": 0
+ "events": [
+ {
+ "type": "TYPE_START",
+ "timestamp": {}
+ }
+ ]
}
],
"page": {
@@ -483,11 +495,8 @@ echo $response;
{
"data": [
{
- "id": "string",
"flow_id": "string",
"reporter_id": "string",
- "timestamp": "string",
- "receive_timestamp": "string",
"source": {
"id": "string",
"type": "string",
@@ -500,9 +509,6 @@ echo $response;
"address": "string",
"dns_label": "string"
},
- "user_id": "string",
- "user_email": "string",
- "user_name": "string",
"destination": {
"id": "string",
"type": "string",
@@ -515,17 +521,31 @@ echo $response;
"address": "string",
"dns_label": "string"
},
+ "user": {
+ "id": "string",
+ "email": "string",
+ "name": "string"
+ },
+ "policy": {
+ "id": "string",
+ "name": "string"
+ },
+ "icmp": {
+ "type": "integer",
+ "code": "integer"
+ },
"protocol": "integer",
- "type": "string",
"direction": "string",
"rx_bytes": "integer",
"rx_packets": "integer",
"tx_bytes": "integer",
"tx_packets": "integer",
- "policy_id": "string",
- "policy_name": "string",
- "icmp_type": "integer",
- "icmp_code": "integer"
+ "events": [
+ {
+ "type": "string",
+ "timestamp": "string"
+ }
+ ]
}
],
"page": "integer",
diff --git a/src/pages/ipa/resources/networks.mdx b/src/pages/ipa/resources/networks.mdx
index bb511034..d0c19c67 100644
--- a/src/pages/ipa/resources/networks.mdx
+++ b/src/pages/ipa/resources/networks.mdx
@@ -3484,3 +3484,197 @@ echo $response;
---
+
+
+## List all Network Routers {{ tag: 'GET' , label: '/api/networks/routers' }}
+
+
+
+ Returns a list of all routers in a network
+
+
+
+
+```bash {{ title: 'cURL' }}
+curl -X GET https://api.netbird.io/api/networks/routers \
+-H 'Accept: application/json' \
+-H 'Authorization: Token '
+```
+
+```js
+const axios = require('axios');
+
+let config = {
+ method: 'get',
+ maxBodyLength: Infinity,
+ url: '/api/networks/routers',
+ headers: {
+ 'Accept': 'application/json',
+ 'Authorization': 'Token '
+ }
+};
+
+axios(config)
+.then((response) => {
+ console.log(JSON.stringify(response.data));
+})
+.catch((error) => {
+ console.log(error);
+});
+```
+
+```python
+import requests
+import json
+
+url = "https://api.netbird.io/api/networks/routers"
+
+headers = {
+ 'Accept': 'application/json',
+ 'Authorization': 'Token '
+}
+
+response = requests.request("GET", url, headers=headers)
+
+print(response.text)
+```
+
+```go
+package main
+
+import (
+ "fmt"
+ "strings"
+ "net/http"
+ "io/ioutil"
+)
+
+func main() {
+
+ url := "https://api.netbird.io/api/networks/routers"
+ method := "GET"
+
+ client := &http.Client {
+ }
+ req, err := http.NewRequest(method, url, nil)
+
+ if err != nil {
+ fmt.Println(err)
+ return
+ {
+
+ req.Header.Add("Accept", "application/json")
+ req.Header.Add("Authorization", "Token ")
+
+ res, err := client.Do(req)
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ defer res.Body.Close()
+
+ body, err := ioutil.ReadAll(res.Body)
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ fmt.Println(string(body))
+}
+```
+
+```ruby
+require "uri"
+require "json"
+require "net/http"
+
+url = URI("https://api.netbird.io/api/networks/routers")
+
+https = Net::HTTP.new(url.host, url.port)
+https.use_ssl = true
+
+request = Net::HTTP::Get.new(url)
+request["Accept"] = "application/json"
+request["Authorization"] = "Token "
+
+response = https.request(request)
+puts response.read_body
+```
+
+```java
+OkHttpClient client = new OkHttpClient().newBuilder()
+ .build();
+
+Request request = new Request.Builder()
+ .url("https://api.netbird.io/api/networks/routers")
+ .method("GET")
+ .addHeader("Accept", "application/json")
+ .addHeader("Authorization: Token ")
+ .build();
+Response response = client.newCall(request).execute();
+```
+
+```php
+ 'https://api.netbird.io/api/networks/routers',
+ CURLOPT_RETURNTRANSFER => true,
+ CURLOPT_ENCODING => '',
+ CURLOPT_MAXREDIRS => 10,
+ CURLOPT_TIMEOUT => 0,
+ CURLOPT_FOLLOWLOCATION => true,
+ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
+ CURLOPT_CUSTOMREQUEST => 'GET',
+ CURLOPT_HTTPHEADER => array(
+ 'Accept: application/json',
+ 'Authorization: Token '
+ ),
+));
+
+$response = curl_exec($curl);
+
+curl_close($curl);
+echo $response;
+```
+
+
+
+
+
+```json {{ title: 'Example' }}
+[
+ {
+ "id": "chacdk86lnnboviihd7g",
+ "peer": "chacbco6lnnbn6cg5s91",
+ "peer_groups": [
+ "chacbco6lnnbn6cg5s91"
+ ],
+ "metric": 9999,
+ "masquerade": true,
+ "enabled": true
+ }
+]
+```
+```json {{ title: 'Schema' }}
+[
+ {
+ "id": "string",
+ "peer": "string",
+ "peer_groups": [
+ "string"
+ ],
+ "metric": "integer",
+ "masquerade": "boolean",
+ "enabled": "boolean"
+ }
+]
+```
+
+
+
+
+
+
+---