Dashboards
Personal and shared dashboards built from RMM and Warden data, and the query endpoint widgets use.
| Method | Path | Summary |
|---|---|---|
| GET | /v2/app/rmm-dashboards | List dashboards |
| POST | /v2/app/rmm-dashboards/query | ?site_id=&group_id= — RMM2's site/group selection; every widget follows it (sources with no site, like network scan findings, cover the organisation) |
| POST | /v2/app/rmm-dashboards/values | Values a field can take (for widget filters) |
| POST | /v2/app/rmm-dashboards | Create a dashboard |
| PUT | /v2/app/rmm-dashboards/:id | Update a dashboard |
| POST | /v2/app/rmm-dashboards/:id/duplicate | Copy a dashboard |
| DELETE | /v2/app/rmm-dashboards/:id | Delete a dashboard |
#List dashboards
GET
/v2/app/rmm-dashboards- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Response 200
| Field | Type | Description |
|---|---|---|
dashboards | array of any | |
sources | array of any | |
templates | array of object | |
templates[].id | integer | |
templates[].name | string | |
templates[].description | string | |
templates[].app | any | |
can_manage_shared | boolean | |
me | integer |
Example response
JSON
{
"dashboards": [],
"sources": [],
"templates": [
{
"id": 42,
"name": "Example name",
"description": "string",
"app": null
}
],
"can_manage_shared": true,
"me": 1
}Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards', {
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-dashboards",
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-dashboards' -Headers $headers#?site_id=&group_id= — RMM2's site/group selection; every widget follows it (sources with no site, like network scan findings, cover the organisation)
POST
/v2/app/rmm-dashboards/query- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/query- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Response 200
Errors
| Status | Message |
|---|---|
| 403 | You can't use that data source |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/query' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/query', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/query",
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 POST -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/query' -Headers $headers#Values a field can take (for widget filters)
POST
/v2/app/rmm-dashboards/values- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/values- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Request body JSON
| Name | Type | Description |
|---|---|---|
source | any | |
field | any |
Response 200
| Field | Type | Description |
|---|---|---|
values | array of any |
Example response
JSON
{
"values": []
}Errors
| Status | Message |
|---|---|
| 403 | You can't use that data source |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/values' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"source":"…","field":"…"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/values', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"source":"…","field":"…"}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/values",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"source":"…","field":"…"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"source":"…","field":"…"}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/values' -Headers $headers -ContentType 'application/json' -Body $body#Create a dashboard
POST
/v2/app/rmm-dashboards- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Request body JSON
| Name | Type | Description |
|---|---|---|
template | any | |
widgets | array of any | |
name | string |
Response 201
| Field | Type | Description |
|---|---|---|
dashboard | any |
Example response
JSON
{
"dashboard": null
}Errors
| Status | Message |
|---|---|
| 400 | Unknown template |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"template":"…","widgets":[],"name":"Example name"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"template":"…","widgets":[],"name":"Example name"}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"template":"…","widgets":[],"name":"Example name"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"template":"…","widgets":[],"name":"Example name"}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards' -Headers $headers -ContentType 'application/json' -Body $body#Update a dashboard
PUT
/v2/app/rmm-dashboards/:id- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/: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 |
|---|---|---|
shared | any |
Response 200
| Field | Type | Description |
|---|---|---|
dashboard | any |
Example response
JSON
{
"dashboard": null
}Example request
Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/42' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"shared":"…"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/42', {
method: 'PUT',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"shared":"…"}),
});
const data = await res.json();Python
import os, requests
r = requests.put(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/42",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"shared":"…"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"shared":"…"}'
Invoke-RestMethod -Method PUT -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/42' -Headers $headers -ContentType 'application/json' -Body $body#Copy a dashboard
POST
/v2/app/rmm-dashboards/:id/duplicate- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/:id/duplicate- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Response 201
| Field | Type | Description |
|---|---|---|
dashboard | any |
Example response
JSON
{
"dashboard": null
}Errors
| Status | Message |
|---|---|
| 404 | Dashboard not found |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/12.5/duplicate' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/12.5/duplicate', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/12.5/duplicate",
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 POST -Uri 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/12.5/duplicate' -Headers $headers#Delete a dashboard
DELETE
/v2/app/rmm-dashboards/:id- Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/: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 |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Example request
Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/42' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v2/app/rmm-dashboards/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-dashboards/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-dashboards/42' -Headers $headersWas this page helpful?
Thanks for your feedback.