Active Directory & Group Policy
Domain controllers enrolled in RMM: Group Policy objects and required settings, changes made through Warden (with undo), and running gpupdate on devices. Needs warden.directory.manage.
| Method | Path | Summary |
|---|---|---|
| GET | /api/gpo | Domains and Group Policy objects |
| POST | /api/gpo/changes | Changes in Active Directory / Group Policy (warden.directory.manage) |
| POST | /api/gpo/changes/:id/undo | Undo a directory change |
| POST | /api/gpo/refresh | Read Group Policy from the domain again |
| POST | /api/gpo/requirements | Require a GPO on devices |
| DELETE | /api/gpo/requirements/:id | Remove a GPO requirement |
| POST | /api/gpo/gpupdate | Run gpupdate on devices |
#Domains and Group Policy objects
GET
/api/gpo- Address
https://<your-org>.brambleit.cloud/warden/api/gpo- 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/gpo', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Changes in Active Directory / Group Policy (warden.directory.manage)
POST
/api/gpo/changes- Address
https://<your-org>.brambleit.cloud/warden/api/gpo/changes- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Permission (any of):warden.directory.manage.
Request body JSON
| Name | Type | Description |
|---|---|---|
domain | string | |
action | any | |
params | array of any |
Response 201
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/gpo/changes', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"domain":"string","action":"…","params":[]}),
});
const data = await res.json();#Undo a directory change
POST
/api/gpo/changes/:id/undo- Address
https://<your-org>.brambleit.cloud/warden/api/gpo/changes/:id/undo- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Permission (any of):warden.directory.manage.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number |
Response 201
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/gpo/changes/12.5/undo', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Read Group Policy from the domain again
POST
/api/gpo/refresh- Address
https://<your-org>.brambleit.cloud/warden/api/gpo/refresh- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Response 200
| Field | Type | Description |
|---|---|---|
queued | any |
Example response
JSON
{
"queued": null
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/gpo/refresh', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Require a GPO on devices
POST
/api/gpo/requirements- Address
https://<your-org>.brambleit.cloud/warden/api/gpo/requirements- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Warden.
Request body JSON
| Name | Type | Description |
|---|---|---|
domain | string | |
gpo_guid | any | |
targets | array of any | |
note | string |
Response 201
| Field | Type | Description |
|---|---|---|
id | integer |
Example response
JSON
{
"id": 42
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/gpo/requirements', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"domain":"string","gpo_guid":"…","targets":[],"note":"string"}),
});
const data = await res.json();#Remove a GPO requirement
DELETE
/api/gpo/requirements/:id- Address
https://<your-org>.brambleit.cloud/warden/api/gpo/requirements/: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 |
|---|---|---|
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/gpo/requirements/12.5', {
method: 'DELETE',
credentials: 'include',
});
const data = await res.json();#Run gpupdate on devices
POST
/api/gpo/gpupdate- Address
https://<your-org>.brambleit.cloud/warden/api/gpo/gpupdate- 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 |
Response 200
| Field | Type | Description |
|---|---|---|
queued | any |
Example response
JSON
{
"queued": null
}Errors
| Status | Message |
|---|---|
| 400 | Choose devices |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/warden/api/gpo/gpupdate', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"device_ids":[]}),
});
const data = await res.json();Was this page helpful?
Thanks for your feedback.