Network monitoring
Monitors for network devices: ping, TCP ports and SNMP (v2c or v3) with interface traffic history. Adopt a discovered device or add one by address.
| Method | Path | Summary |
|---|---|---|
| GET | /v2/app/rmm-network-monitor/monitors | List with 24h uptime and a 60-minute latency spark |
| GET | /v2/app/rmm-network-monitor/monitors/:id | Detail: interfaces (latest rates) + 24h reachability |
| GET | /v2/app/rmm-network-monitor/monitors/:id/interfaces/:ifIndex | Traffic history for one port |
| POST | /v2/app/rmm-network-monitor/monitors | { discovered_device_id } to adopt a discovered device, or { probe_device_id, ip_address, name } to add one by IP |
| PUT | /v2/app/rmm-network-monitor/monitors/:id | Name, is_enabled, is_maintenance, check_ping, tcp_ports, snmp_enabled, snmp_version, snmp_community, snmp_v3 |
| DELETE | /v2/app/rmm-network-monitor/monitors/:id | Delete a monitor |
#List with 24h uptime and a 60-minute latency spark
GET
/v2/app/rmm-network-monitor/monitors- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Response 200
| Field | Type | Description |
|---|---|---|
monitors | array of any |
Example response
JSON
{
"monitors": []
}Errors
| Status | Message |
|---|---|
| 404 | User not found |
Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors' -Headers $headers#Detail: interfaces (latest rates) + 24h reachability
GET
/v2/app/rmm-network-monitor/monitors/:id- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/:id- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Query parameters
| Name | Type | Description |
|---|---|---|
hours | number |
Response 200
| Field | Type | Description |
|---|---|---|
monitor | any | |
interfaces | array of any | |
samples | array of object | |
samples[].t | any | |
samples[].up | number, or null | |
samples[].latency_ms | number, or null | |
samples[].loss_pct | any | |
bucket_minutes | array of any |
Example response
JSON
{
"monitor": null,
"interfaces": [],
"samples": [
{
"t": null,
"up": 12.5,
"latency_ms": 12.5,
"loss_pct": null
}
],
"bucket_minutes": []
}Errors
| Status | Message |
|---|---|
| 404 | Monitor not found |
Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42' -Headers $headers#Traffic history for one port
GET
/v2/app/rmm-network-monitor/monitors/:id/interfaces/:ifIndex- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/:id/interfaces/:ifIndex- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer | |
ifIndexrequired | number |
Query parameters
| Name | Type | Description |
|---|---|---|
hours | number |
Response 200
| Field | Type | Description |
|---|---|---|
samples | array of object | |
samples[].t | string (date-time) | |
samples[].in_bps | integer, or null | |
samples[].out_bps | integer, or null | |
samples[].in_errors | integer, or null | |
samples[].out_errors | integer, or null | |
samples[].oper_up | boolean, or null |
Example response
JSON
{
"samples": [
{
"t": "2026-11-12T09:30:00.000Z",
"in_bps": 1,
"out_bps": 1,
"in_errors": 1,
"out_errors": 1,
"oper_up": false
}
]
}Errors
| Status | Message |
|---|---|
| 404 | Monitor not found |
Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42/interfaces/12.5' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42/interfaces/12.5', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42/interfaces/12.5",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42/interfaces/12.5' -Headers $headers#{ discovered_device_id } to adopt a discovered device, or { probe_device_id, ip_address, name } to add one by IP
POST
/v2/app/rmm-network-monitor/monitors{ discovered_device_id } to adopt a discovered device, or { probe_device_id, ip_address, name } to add one by IP. Optional settings as in PUT.
- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Request body JSON
| Name | Type | Description |
|---|---|---|
discovered_device_id | integer | |
name | string | |
probe_device_id | integer | |
ip_address | any | |
check_ping | boolean | |
tcp_ports | array of any | |
snmp_enabled | any | |
snmp_version | string | |
snmp_community | any | |
snmp_v3 | any |
Response 201
| Field | Type | Description |
|---|---|---|
id | integer |
Example response
JSON
{
"id": 42
}Errors
| Status | Message |
|---|---|
| 400 | A valid IPv4 address is required |
| 400 | That device is not a Network Probe |
| 404 | Discovered device not found |
| 404 | Probe device not found |
| 409 | Already monitored |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"discovered_device_id":7,"name":"Example name","probe_device_id":7,"ip_address":"…","check_ping":false,"tcp_ports":[],"snmp_enabled":"…","snmp_version":"string","snmp_community":"…","snmp_v3":"…"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"discovered_device_id":7,"name":"Example name","probe_device_id":7,"ip_address":"…","check_ping":false,"tcp_ports":[],"snmp_enabled":"…","snmp_version":"string","snmp_community":"…","snmp_v3":"…"}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"discovered_device_id":7,"name":"Example name","probe_device_id":7,"ip_address":"…","check_ping":False,"tcp_ports":[],"snmp_enabled":"…","snmp_version":"string","snmp_community":"…","snmp_v3":"…"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"discovered_device_id":7,"name":"Example name","probe_device_id":7,"ip_address":"…","check_ping":false,"tcp_ports":[],"snmp_enabled":"…","snmp_version":"string","snmp_community":"…","snmp_v3":"…"}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors' -Headers $headers -ContentType 'application/json' -Body $body#Name, is_enabled, is_maintenance, check_ping, tcp_ports, snmp_enabled, snmp_version, snmp_community, snmp_v3
PUT
/v2/app/rmm-network-monitor/monitors/:id- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/:id- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Request body JSON
| Name | Type | Description |
|---|---|---|
name | string | |
is_enabled | boolean | |
is_maintenance | boolean | |
check_ping | any | |
tcp_ports | array of any | |
snmp_enabled | any | |
snmp_version | string | |
snmp_community | string | |
snmp_community_clear | any | |
snmp_v3 | any |
Response 200
| Field | Type | Description |
|---|---|---|
message | string |
Example response
JSON
{
"message": "Saved"
}Errors
| Status | Message |
|---|---|
| 404 | Monitor not found |
Example request
Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Example name","is_enabled":true,"is_maintenance":true,"check_ping":"…","tcp_ports":[],"snmp_enabled":"…","snmp_version":"string","snmp_community":"string","snmp_community_clear":"…","snmp_v3":"…"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42', {
method: 'PUT',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"name":"Example name","is_enabled":true,"is_maintenance":true,"check_ping":"…","tcp_ports":[],"snmp_enabled":"…","snmp_version":"string","snmp_community":"string","snmp_community_clear":"…","snmp_v3":"…"}),
});
const data = await res.json();Python
import os, requests
r = requests.put(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"name":"Example name","is_enabled":True,"is_maintenance":True,"check_ping":"…","tcp_ports":[],"snmp_enabled":"…","snmp_version":"string","snmp_community":"string","snmp_community_clear":"…","snmp_v3":"…"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"name":"Example name","is_enabled":true,"is_maintenance":true,"check_ping":"…","tcp_ports":[],"snmp_enabled":"…","snmp_version":"string","snmp_community":"string","snmp_community_clear":"…","snmp_v3":"…"}'
Invoke-RestMethod -Method PUT -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42' -Headers $headers -ContentType 'application/json' -Body $body#Delete a monitor
DELETE
/v2/app/rmm-network-monitor/monitors/:id- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/:id- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
message | string |
Example response
JSON
{
"message": "Saved"
}Errors
| Status | Message |
|---|---|
| 404 | Monitor not found |
Example request
Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42', {
method: 'DELETE',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.delete(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method DELETE -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-network-monitor/monitors/42' -Headers $headersWas this page helpful?
Thanks for your feedback.