Databases

MySQL/MariaDB servers found on devices: overview, backup settings and backups, and opening a backup as a read-only copy to browse its tables.

MethodPathSummary
GET/v2/app/rmm-databasesDatabase servers overview
GET/v2/app/rmm-databases/devices/:idA server's databases, backups and settings
PUT/v2/app/rmm-databases/devices/:id/settingsSet a server's backup settings
POST/v2/app/rmm-databases/devices/:id/backupBack up databases now
POST/v2/app/rmm-databases/devices/:id/refreshRefresh a server's overview now
GET/v2/app/rmm-databases/backups/:id/downloadDownload a database backup
DELETE/v2/app/rmm-databases/backups/:idDelete a database backup
POST/v2/app/rmm-databases/backups/:id/openOpening a backup to look at its data: like a download, it shows everything
DELETE/v2/app/rmm-databases/mounts/:idClose an opened backup
POST/v2/app/rmm-databases/mounts/:id/queryBrowse an opened backup
GET/v2/app/rmm-databases/mounts/:id/queries/:qidResult of a browse request

#Database servers overview

GET/v2/app/rmm-databases
Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).

Response 200

FieldTypeDescription
serversarray of any
min_agentstring
Example response
JSON
{
  "servers": [],
  "min_agent": "string",
  "…perms(req)": "…"
}

Example request

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

#A server's databases, backups and settings

GET/v2/app/rmm-databases/devices/:id
Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/devices/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

Example response
JSON
{
  "…await dbs.deviceDetail(r": "…",
  "…perms(req)": "…"
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/devices/42' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Set a server's backup settings

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

Path parameters

NameTypeDescription
idrequiredinteger

Request body JSON

NameTypeDescription
schedule_timeanyTime of day, HH:MM.
schedule_daysarray of anyDays of the week.
schedule_enabledbooleanBack up on a schedule.
include_systembooleanInclude system databases.
databasesarray of anyWhich databases (empty for all).
login_passwordanyIts password.
login_userstringA MySQL login to use (stored encrypted).
keep_dailyanyDays of daily backups to keep.
keep_weeklyanyWeeks of weekly backups to keep.

Response 200

FieldTypeDescription
settingsany
Example response
JSON
{
  "settings": null
}

Example request

Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/devices/42/settings' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"schedule_time":"…","schedule_days":[],"schedule_enabled":true,"include_system":false,"databases":[],"login_password":"…","login_user":"string","keep_daily":"…","keep_weekly":"…"}'

#Back up databases now

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

Path parameters

NameTypeDescription
idrequiredinteger

Request body JSON

NameTypeDescription
databasesarray of any

Response 200

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/devices/42/backup' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"databases":[]}'

#Refresh a server's overview now

POST/v2/app/rmm-databases/devices/:id/refresh
Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/devices/:id/refresh
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
okboolean
Example response
JSON
{
  "ok": true
}

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/devices/42/refresh' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Download a database backup

GET/v2/app/rmm-databases/backups/:id/download

Needs rmm.databases.download; audited.

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

Path parameters

NameTypeDescription
idrequirednumber

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/backups/12.5/download' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Delete a database backup

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

Path parameters

NameTypeDescription
idrequirednumber

Response 200

FieldTypeDescription
okboolean
Example response
JSON
{
  "ok": true
}

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/backups/12.5' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Opening a backup to look at its data: like a download, it shows everything

POST/v2/app/rmm-databases/backups/:id/open
Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/backups/:id/open
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.databases.download.

Path parameters

NameTypeDescription
idrequirednumber

Request body JSON

NameTypeDescription
hoursarray of any

Response 200

FieldTypeDescription
mountany
Example response
JSON
{
  "mount": null
}

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/backups/12.5/open' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hours":[]}'

#Close an opened backup

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

Path parameters

NameTypeDescription
idrequirednumber

Response 200

FieldTypeDescription
mountany
Example response
JSON
{
  "mount": null
}

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/mounts/12.5' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Browse an opened backup

POST/v2/app/rmm-databases/mounts/:id/query

Lists tables, or reads rows of one table (sort, filter, up to 10,000 rows for CSV). Read-only.

Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/mounts/:id/query
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.databases.download.

Path parameters

NameTypeDescription
idrequirednumber

Request body JSON

NameTypeDescription
opstring: "tables" | "rows"
tablestring
offsetinteger
limitinteger
sortstring
dirstring
filter_colstring
filterstring

Response 200

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/mounts/12.5/query' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"op":"tables","table":"string","offset":1,"limit":1,"sort":"string","dir":"string","filter_col":"string","filter":"string"}'

#Result of a browse request

GET/v2/app/rmm-databases/mounts/:id/queries/:qid
Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/mounts/:id/queries/:qid
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): rmm.databases.download.

Path parameters

NameTypeDescription
idrequirednumber
qidrequirednumber

Response 200

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v2/app/rmm-databases/mounts/12.5/queries/12.5' \
  -H "X-API-Key: $BRAMBLE_KEY"