Scans
Start a vulnerability scan for one device or all, follow its progress, cancel it, and scan history.
| Method | Path | Summary |
|---|---|---|
| POST | /api/scan | Start a scan |
| GET | /api/scan/status | Live progress for the header bar |
| POST | /api/scan/cancel | Cancel the running scan (or one specific run) |
| GET | /api/scans | Scan history (Activity → Scans) |
#Start a scan
POST
/api/scan- Address
https://<your-org>.brambleit.cloud/warden/api/scan- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Request body JSON
| Name | Type | Description |
|---|---|---|
device_id | string | Scan only this device; leave out to scan everything in scope. |
Response 202
| Field | Type | Description |
|---|---|---|
message | string |
Example response
JSON
{
"message": "Saved"
}Errors
| Status | Message |
|---|---|
| 409 | A scan is already running |
| 404 | Device not found |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/scan', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"device_id":"string"}),
});
const data = await res.json();#Live progress for the header bar
GET
/api/scan/statusLive progress for the header bar. ETA = time per device so far in this run; before the first device finishes, the average of recent completed runs (per device) stands in.
- Address
https://<your-org>.brambleit.cloud/warden/api/scan/status- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Response 200
| Field | Type | Description |
|---|---|---|
scanning | boolean | |
run | object, or null | |
eta_s | array of any | |
per_device_s | array of any |
Example response
JSON
{
"scanning": false,
"run": {},
"eta_s": [],
"per_device_s": []
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/scan/status', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Cancel the running scan (or one specific run)
POST
/api/scan/cancel- Address
https://<your-org>.brambleit.cloud/warden/api/scan/cancel- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Request body JSON
| Name | Type | Description |
|---|---|---|
run_id | number |
Response 200
| Field | Type | Description |
|---|---|---|
message | string | |
cancelled | integer |
Example response
JSON
{
"message": "Saved",
"cancelled": 1
}Errors
| Status | Message |
|---|---|
| 409 | No scan is running |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/scan/cancel', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"run_id":12.5}),
});
const data = await res.json();#Scan history (Activity → Scans)
GET
/api/scans- Address
https://<your-org>.brambleit.cloud/warden/api/scans- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Query parameters
| Name | Type | Description |
|---|---|---|
limit | integer |
Response 200
| Field | Type | Description |
|---|---|---|
runs | array of object | |
runs[].device_name | integer, or null | |
stats | array of any |
Example response
JSON
{
"runs": [
{
"device_name": 1
}
],
"stats": []
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/scans', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();Was this page helpful?
Thanks for your feedback.