RMM: sites, groups & enrolment

Sites and groups organise devices. Enrolment keys add devices: each key puts new devices into a site and group. Anyone holding a key can add a device, so keep keys private and delete unused ones.

MethodPathSummary
GET/v1/admin/rmm/overviewGet device/site/group/script counts for the tenant's RMM instance
GET/v1/admin/rmm/sitesList the tenant's RMM sites with group and device counts
GET/v1/admin/rmm/sites/:id/groupsGet an RMM site with its groups and per-group device counts
GET/v1/admin/rmm/groupsList all RMM groups across every site in the tenant, with device counts
POST/v1/admin/rmm/sitesCreate an RMM site. Requires the GLOBAL_ADMIN role
PUT/v1/admin/rmm/sites/:idUpdate an RMM site. Requires the GLOBAL_ADMIN role
DELETE/v1/admin/rmm/sites/:idDelete an RMM site. Requires the GLOBAL_ADMIN role
POST/v1/admin/rmm/groupsCreate an RMM device group within a site
PUT/v1/admin/rmm/groups/:idUpdate an RMM device group
DELETE/v1/admin/rmm/groups/:idDelete an RMM device group
GET/v1/admin/rmm/enrollment-keysList RMM device enrollment keys
POST/v1/admin/rmm/enrollment-keysCreate an RMM device enrollment key
PUT/v1/admin/rmm/enrollment-keys/:idRename an enrollment key
DELETE/v1/admin/rmm/enrollment-keys/:idRevoke an enrollment key

#Get device/site/group/script counts for the tenant's RMM instance

GET/v1/admin/rmm/overview

Get device/site/group/script counts for the tenant's RMM instance. Requires the GLOBAL_ADMIN role. Reads from the RMM database (rmmPool). scripts includes both tenant-owned and global scripts.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/overview
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): RMM_ANY.

Response 200

FieldTypeDescription
devicesinteger
sitesinteger
groupsinteger
scriptsinteger
Example response
JSON
{
  "devices": 1,
  "sites": 1,
  "groups": 1,
  "scripts": 1
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/overview' \
  -H "X-API-Key: $BRAMBLE_KEY"

#List the tenant's RMM sites with group and device counts

GET/v1/admin/rmm/sites

List the tenant's RMM sites with group and device counts. Requires the GLOBAL_ADMIN role.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/sites
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): RMM_ANY.

Response 200

FieldTypeDescription
sitesarray of any
Example response
JSON
{
  "sites": []
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/sites' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Get an RMM site with its groups and per-group device counts

GET/v1/admin/rmm/sites/:id/groups

Get an RMM site with its groups and per-group device counts. Requires the GLOBAL_ADMIN role.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/sites/:id/groups
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): RMM_ANY.

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
siteany
groupsarray of any
Example response
JSON
{
  "site": null,
  "groups": []
}

Errors

StatusMessage
404Site not found

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/sites/42/groups' \
  -H "X-API-Key: $BRAMBLE_KEY"

#List all RMM groups across every site in the tenant, with device counts

GET/v1/admin/rmm/groups

List all RMM groups across every site in the tenant, with device counts. Requires the GLOBAL_ADMIN role.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/groups
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): RMM_ANY.

Response 200

FieldTypeDescription
groupsarray of any
Example response
JSON
{
  "groups": []
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/groups' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Create an RMM site. Requires the GLOBAL_ADMIN role

POST/v1/admin/rmm/sites

Create an RMM site. Requires the GLOBAL_ADMIN role. name is required. The display-name column on the live sites table is auto-detected (name/site_name/title/label/display_name) since it varies; description is only written if that column actually exists on the live schema.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/sites
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.enrollment.manage.

Request body JSON

NameTypeDescription
namerequiredstring
descriptionstring
client_idinteger

Response 201

FieldTypeDescription
messagestring
idinteger
Example response
JSON
{
  "message": "Saved",
  "id": 42
}

Errors

StatusMessage
400name is required

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/sites' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example name","description":"string","client_id":7}'

#Update an RMM site. Requires the GLOBAL_ADMIN role

PUT/v1/admin/rmm/sites/:id
Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/sites/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.enrollment.manage.

Path parameters

NameTypeDescription
idrequiredinteger

Request body JSON

NameTypeDescription
namerequiredstring
descriptionstring
client_idinteger

Response 200

FieldTypeDescription
messagestring
Example response
JSON
{
  "message": "Saved"
}

Errors

StatusMessage
400name is required
404Site not found

Example request

Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/sites/42' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example name","description":"string","client_id":7}'

#Delete an RMM site. Requires the GLOBAL_ADMIN role

DELETE/v1/admin/rmm/sites/:id
Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/sites/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.enrollment.manage.

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
messagestring
Example response
JSON
{
  "message": "Saved"
}

Errors

StatusMessage
404Site not found

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/sites/42' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Create an RMM device group within a site

POST/v1/admin/rmm/groups

Create an RMM device group within a site. Requires the GLOBAL_ADMIN role. site_id and name are required.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/groups
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.enrollment.manage.

Request body JSON

NameTypeDescription
site_idrequiredinteger
namerequiredstring
descriptionstring

Response 201

FieldTypeDescription
messagestring
idinteger
Example response
JSON
{
  "message": "Saved",
  "id": 42
}

Errors

StatusMessage
400site_id and name are required
404Site not found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/groups' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"site_id":7,"name":"Example name","description":"string"}'

#Update an RMM device group

PUT/v1/admin/rmm/groups/:id

Update an RMM device group. Requires the GLOBAL_ADMIN role.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/groups/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.enrollment.manage.

Path parameters

NameTypeDescription
idrequiredinteger

Request body JSON

NameTypeDescription
namerequiredstring
descriptionstring

Response 200

FieldTypeDescription
messagestring
Example response
JSON
{
  "message": "Saved"
}

Errors

StatusMessage
400name is required
404Group not found

Example request

Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/groups/42' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example name","description":"string"}'

#Delete an RMM device group

DELETE/v1/admin/rmm/groups/:id

Delete an RMM device group. Requires the GLOBAL_ADMIN role.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/groups/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.enrollment.manage.

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
messagestring
Example response
JSON
{
  "message": "Saved"
}

Errors

StatusMessage
404Group not found

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/groups/42' \
  -H "X-API-Key: $BRAMBLE_KEY"

#List RMM device enrollment keys

GET/v1/admin/rmm/enrollment-keys

List RMM device enrollment keys. Requires the GLOBAL_ADMIN role. Each key is resolved to its target site/group name for display.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/enrollment-keys
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.enrollment.manage.

Response 200

FieldTypeDescription
keysarray of any
Example response
JSON
{
  "keys": []
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/enrollment-keys' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Create an RMM device enrollment key

POST/v1/admin/rmm/enrollment-keys

Create an RMM device enrollment key. Requires the GLOBAL_ADMIN role. site_id is required; the key targets that site (and optionally a group + device type) for new agent installs.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/enrollment-keys
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.enrollment.manage.

Request body JSON

NameTypeDescription
display_namestring
site_idrequiredinteger
group_idinteger
device_typestring

Response 201

FieldTypeDescription
messagestring
idinteger
enrollment_keystring
Example response
JSON
{
  "message": "Saved",
  "id": 42,
  "enrollment_key": "…"
}

Errors

StatusMessage
400site_id is required
404Site not found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/enrollment-keys' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"display_name":"Example display name","site_id":7,"group_id":7,"device_type":"string"}'

#Rename an enrollment key

PUT/v1/admin/rmm/enrollment-keys/:id

Rename an enrollment key. Requires the GLOBAL_ADMIN role. Only display_name is editable — site_id/group_id/device_type are immutable post-creation (revoke and issue a new key to change scope).

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/enrollment-keys/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.enrollment.manage.

Path parameters

NameTypeDescription
idrequiredinteger

Request body JSON

NameTypeDescription
display_namerequiredstring

Response 200

FieldTypeDescription
messagestring
Example response
JSON
{
  "message": "Saved"
}

Errors

StatusMessage
400Nothing to update
404Key not found

Example request

Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/enrollment-keys/42' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"display_name":"Example display name"}'

#Revoke an enrollment key

DELETE/v1/admin/rmm/enrollment-keys/:id

Revoke an enrollment key. Requires the GLOBAL_ADMIN role.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/rmm/enrollment-keys/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.enrollment.manage.

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
messagestring
Example response
JSON
{
  "message": "Saved"
}

Errors

StatusMessage
404Key not found

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/admin/rmm/enrollment-keys/42' \
  -H "X-API-Key: $BRAMBLE_KEY"