Configurations & assets
Configurations (servers, workstations, network kit…) and flexible assets of any type your admins define. Assets can be linked to RMM devices and kept in step with them, and related to each other.
| Method | Path | Summary |
|---|---|---|
| GET | /api/assets/:id | Get an asset |
| PUT | /api/assets/:id | Update an asset |
| POST | /api/assets/:id/reveal | Reveal a secret field |
| DELETE | /api/assets/:id | Delete an asset |
| POST | /api/assets/:id/rmm-sync | Update an asset from its RMM device |
| POST | /api/assets/:id/rmm-link | Link an asset to an RMM device |
| GET | /api/relations | What a record is related to |
| POST | /api/relations | Relate two records |
| DELETE | /api/relations/:id | Remove a relation |
| GET | /api/assets/:id/diagrams | Diagrams an asset appears on (asset page) |
#Get an asset
GET
/api/assets/:id- Address
https://<your-org>.brambleit.cloud/atlas/api/assets/:id- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
asset | any | |
type | string | |
refs | array of any | |
rmm | any |
Example response
JSON
{
"asset": null,
"type": "string",
"refs": [],
"rmm": null
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/assets/42', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Update an asset
PUT
/api/assets/:id- Address
https://<your-org>.brambleit.cloud/atlas/api/assets/:id- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Request body JSON
| Name | Type | Description |
|---|---|---|
data | any |
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('/atlas/api/assets/42', {
method: 'PUT',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"data":"…"}),
});
const data = await res.json();#Reveal a secret field
POST
/api/assets/:id/revealReturns one secret field's value and logs it.
- Address
https://<your-org>.brambleit.cloud/atlas/api/assets/:id/reveal- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Request body JSON
| Name | Type | Description |
|---|---|---|
key | string | The field. |
copy | any | true when it's being copied rather than shown (recorded in the log). |
Response 200
| Field | Type | Description |
|---|---|---|
value | any |
Example response
JSON
{
"value": null
}Errors
| Status | Message |
|---|---|
| 404 | No such secret field |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/assets/42/reveal', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"key":"…","copy":"…"}),
});
const data = await res.json();#Delete an asset
DELETE
/api/assets/:id- Address
https://<your-org>.brambleit.cloud/atlas/api/assets/:id- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
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('/atlas/api/assets/42', {
method: 'DELETE',
credentials: 'include',
});
const data = await res.json();#Update an asset from its RMM device
POST
/api/assets/:id/rmm-sync- Address
https://<your-org>.brambleit.cloud/atlas/api/assets/:id/rmm-sync- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
rmm | any |
Example response
JSON
{
"rmm": null
}Errors
| Status | Message |
|---|---|
| 404 | The RMM device has gone |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/assets/42/rmm-sync', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Link an asset to an RMM device
POST
/api/assets/:id/rmm-link- Address
https://<your-org>.brambleit.cloud/atlas/api/assets/:id/rmm-link- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Request body JSON
| Name | Type | Description |
|---|---|---|
device_id | integer | The device. |
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('/atlas/api/assets/42/rmm-link', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"device_id":7}),
});
const data = await res.json();#What a record is related to
GET
/api/relations- Address
https://<your-org>.brambleit.cloud/atlas/api/relations- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Query parameters
| Name | Type | Description |
|---|---|---|
kind | string | The record's kind (asset, password, document…). |
id | integer | Its id. |
Response 200
| Field | Type | Description |
|---|---|---|
relations | array of any |
Example response
JSON
{
"relations": []
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/relations', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Relate two records
POST
/api/relations- Address
https://<your-org>.brambleit.cloud/atlas/api/relations- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Request body JSON
| Name | Type | Description |
|---|---|---|
a_kind | string | |
b_kind | string | |
note | string | |
a_id | integer | |
b_id | integer |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Errors
| Status | Message |
|---|---|
| 404 | Record not found |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/relations', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"a_kind":"string","b_kind":"string","note":"string","a_id":7,"b_id":7}),
});
const data = await res.json();#Remove a relation
DELETE
/api/relations/:id- Address
https://<your-org>.brambleit.cloud/atlas/api/relations/:id- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
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('/atlas/api/relations/42', {
method: 'DELETE',
credentials: 'include',
});
const data = await res.json();#Diagrams an asset appears on (asset page)
GET
/api/assets/:id/diagrams- Address
https://<your-org>.brambleit.cloud/atlas/api/assets/:id/diagrams- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
diagrams | array of object | |
diagrams[].id | integer, or null | |
diagrams[].kind | string | |
diagrams[].name | string |
Example response
JSON
{
"diagrams": [
{
"id": 42,
"kind": "string",
"name": "Example name"
}
]
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/assets/42/diagrams', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();Was this page helpful?
Thanks for your feedback.