Cyber Essentials
Cyber Essentials checks and remediation. A plan lists the fixes for chosen devices; you approve it, Warden applies it, and each item can be undone. Items that need a person can be marked done or dismissed.
| Method | Path | Summary |
|---|---|---|
| GET | /api/ce | Cyber Essentials status |
| GET | /api/remediation | List remediation plans |
| POST | /api/remediation | Plan Cyber Essentials fixes |
| GET | /api/remediation/items | Outstanding items across open plans (optionally ?control=firewall) |
| GET | /api/remediation/:id | Get a remediation plan |
| PATCH | /api/remediation/items/:id | Change a plan item |
| POST | /api/remediation/:id/approve | Approve and apply a plan |
| POST | /api/remediation/:id/discard | Discard a plan |
| POST | /api/remediation/items/:id/undo | Undo an applied fix |
| POST | /api/remediation/items/:id/done | Mark a manual item done |
| POST | /api/remediation/items/:id/dismiss | Dismiss an item |
| POST | /api/remediation/:id/apply | Apply more of an approved plan: unticked items, or retry failed ones |
| POST | /api/remediation/:id/close | Close a plan |
#Cyber Essentials status
GET
/api/ce- Address
https://<your-org>.brambleit.cloud/warden/api/ce- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Response 200
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/ce', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#List remediation plans
GET
/api/remediation- Address
https://<your-org>.brambleit.cloud/warden/api/remediation- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Response 200
| Field | Type | Description |
|---|---|---|
plans | array of any |
Example response
JSON
{
"plans": []
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Plan Cyber Essentials fixes
POST
/api/remediation- Address
https://<your-org>.brambleit.cloud/warden/api/remediation- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Request body JSON
| Name | Type | Description |
|---|---|---|
device_ids | array of any | The devices. |
controls | array of any | The Cyber Essentials controls to fix. |
Response 201
| Field | Type | Description |
|---|---|---|
plan | any |
Example response
JSON
{
"plan": null
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"device_ids":[],"controls":[]}),
});
const data = await res.json();#Outstanding items across open plans (optionally ?control=firewall)
GET
/api/remediation/itemsOutstanding items across open plans (optionally ?control=firewall). Before /:id.
- Address
https://<your-org>.brambleit.cloud/warden/api/remediation/items- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Query parameters
| Name | Type | Description |
|---|---|---|
control | string |
Response 200
| Field | Type | Description |
|---|---|---|
items | array of any |
Example response
JSON
{
"items": []
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation/items', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Get a remediation plan
GET
/api/remediation/:id- Address
https://<your-org>.brambleit.cloud/warden/api/remediation/:id- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Response 200
| Field | Type | Description |
|---|---|---|
plan | object | |
plan.items | array of any |
Example response
JSON
{
"plan": {
"…p": "…",
"items": []
}
}Errors
| Status | Message |
|---|---|
| 404 | Plan not found |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation/12.5', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Change a plan item
PATCH
/api/remediation/items/:id- Address
https://<your-org>.brambleit.cloud/warden/api/remediation/items/:id- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Request body JSON
| Name | Type | Description |
|---|---|---|
selected | any | Include it when the plan is applied. |
ports | array of any | For firewall items, the ports to allow. |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation/items/12.5', {
method: 'PATCH',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"selected":"…","ports":[]}),
});
const data = await res.json();#Approve and apply a plan
POST
/api/remediation/:id/approve- Address
https://<your-org>.brambleit.cloud/warden/api/remediation/:id/approve- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Response 200
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation/12.5/approve', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Discard a plan
POST
/api/remediation/:id/discard- Address
https://<your-org>.brambleit.cloud/warden/api/remediation/:id/discard- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation/12.5/discard', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Undo an applied fix
POST
/api/remediation/items/:id/undo- Address
https://<your-org>.brambleit.cloud/warden/api/remediation/items/:id/undo- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Response 200
| Field | Type | Description |
|---|---|---|
message | string |
Example response
JSON
{
"message": "Saved"
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation/items/12.5/undo', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Mark a manual item done
POST
/api/remediation/items/:id/done- Address
https://<your-org>.brambleit.cloud/warden/api/remediation/items/:id/done- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation/items/12.5/done', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Dismiss an item
POST
/api/remediation/items/:id/dismiss- Address
https://<your-org>.brambleit.cloud/warden/api/remediation/items/:id/dismiss- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation/items/12.5/dismiss', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Apply more of an approved plan: unticked items, or retry failed ones
POST
/api/remediation/:id/applyApply more of an approved plan: unticked items, or retry failed ones. Body { item_ids: [] }.
- Address
https://<your-org>.brambleit.cloud/warden/api/remediation/:id/apply- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Request body JSON
| Name | Type | Description |
|---|---|---|
item_ids | array of any |
Response 200
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation/12.5/apply', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"item_ids":[]}),
});
const data = await res.json();#Close a plan
POST
/api/remediation/:id/close- Address
https://<your-org>.brambleit.cloud/warden/api/remediation/:id/close- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/remediation/12.5/close', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();Was this page helpful?
Thanks for your feedback.