Bramble bridge (BRM-API)

How Flows reaches RMM devices: list devices and run a script on one as the flow's owner. Used by Flows itself with X-Flows-Key; not for outside callers.

MethodPathSummary
GET/v1/flows/devicesDevices a flow's owner can use
POST/v1/flows/devices/:id/runRun a script on a device for a flow
GET/v1/flows/commands/:idResult of a device script

#Devices a flow's owner can use

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

Query parameters

NameTypeDescription
qany

Response 200

FieldTypeDescription
devicesarray of any
Example response
JSON
{
  "devices": []
}

Example request

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

#Run a script on a device for a flow

POST/v1/flows/devices/:id/run
Address
https://<your-org>.brambleit.cloud/api/v1/flows/devices/:id/run
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Permission (any of): rmm.scripts.run.

Path parameters

NameTypeDescription
idrequiredstring

Request body JSON

NameTypeDescription
languageany
scriptany
argsarray of any
timeout_secondsnumber
namestring

Response 201

FieldTypeDescription
command_idinteger
deviceany
Example response
JSON
{
  "command_id": 7,
  "device": null
}

Errors

StatusMessage
400Unsupported language: …
400The script is empty
400The script is too long (200 KB at most)
404Device not found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/flows/devices/string/run' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"language":"…","script":"…","args":[],"timeout_seconds":12.5,"name":"Example name"}'

#Result of a device script

GET/v1/flows/commands/:id
Address
https://<your-org>.brambleit.cloud/api/v1/flows/commands/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.
Permission (any of): rmm.scripts.run.

Path parameters

NameTypeDescription
idrequirednumber

Response 200

FieldTypeDescription
idinteger
statusstring
exit_codeany
stdoutany
stderrany
timed_outboolean
created_atstring (date-time)
started_atstring (date-time)
finished_atstring (date-time)
Example response
JSON
{
  "id": 42,
  "status": "active",
  "exit_code": null,
  "stdout": null,
  "stderr": null,
  "timed_out": false,
  "created_at": "2026-11-12T09:30:00.000Z",
  "started_at": "2026-11-12T09:30:00.000Z",
  "finished_at": "2026-11-12T09:30:00.000Z"
}

Errors

StatusMessage
404Command not found

Example request

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