Diagrams
Network diagrams and rack layouts with versions. "Generate" draws a starting diagram from Atlas assets, RMM network discovery and UniFi topology.
| Method | Path | Summary |
|---|---|---|
| GET | /api/diagrams/:id | Get a diagram |
| PUT | /api/diagrams/:id | Save a diagram |
| DELETE | /api/diagrams/:id | Archive a diagram |
| POST | /api/diagrams/:id/duplicate | Copy a diagram |
| GET | /api/diagrams/:id/versions | A diagram's versions |
| GET | /api/diagrams/:id/versions/:vid | Get a diagram version |
| POST | /api/diagrams/:id/versions/:vid/restore | Restore a diagram version |
#Get a diagram
GET
/api/diagrams/:id- Address
https://<your-org>.brambleit.cloud/atlas/api/diagrams/: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 |
|---|---|---|
diagram | any |
Example response
JSON
{
"diagram": null
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/diagrams/42', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Save a diagram
PUT
/api/diagrams/:id- Address
https://<your-org>.brambleit.cloud/atlas/api/diagrams/: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 |
|---|---|---|
base_version | number | The version you started from. If it has changed, you get 409. |
name | string | |
description | string | |
location_id | integer | |
pinned | boolean | |
thumb | any | |
data | any | |
checkpoint | any | Keep this save as a named version. |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean | |
version | any |
Example response
JSON
{
"ok": true,
"version": null
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/diagrams/42', {
method: 'PUT',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"base_version":12.5,"name":"Example name","description":"string","location_id":7,"pinned":false,"thumb":"…","data":"…","checkpoint":"…"}),
});
const data = await res.json();#Archive a diagram
DELETE
/api/diagrams/:id- Address
https://<your-org>.brambleit.cloud/atlas/api/diagrams/: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/diagrams/42', {
method: 'DELETE',
credentials: 'include',
});
const data = await res.json();#Copy a diagram
POST
/api/diagrams/:id/duplicate- Address
https://<your-org>.brambleit.cloud/atlas/api/diagrams/:id/duplicate- 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 |
|---|---|---|
name | string |
Response 200
| Field | Type | Description |
|---|---|---|
diagram | object | |
diagram.id | integer |
Example response
JSON
{
"diagram": {
"id": 42
}
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/diagrams/42/duplicate', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"name":"Example name"}),
});
const data = await res.json();#A diagram's versions
GET
/api/diagrams/:id/versions- Address
https://<your-org>.brambleit.cloud/atlas/api/diagrams/:id/versions- 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 |
|---|---|---|
versions | array of object | |
versions[].id | integer, or null | |
versions[].version | integer | |
versions[].name | string | |
versions[].saved_name | string, or null | |
versions[].saved_at | string (date-time), or null |
Example response
JSON
{
"versions": [
{
"id": 42,
"version": 1,
"name": "Example name",
"saved_name": "Example saved name",
"saved_at": "2026-11-12T09:30:00.000Z"
}
]
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/diagrams/42/versions', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Get a diagram version
GET
/api/diagrams/:id/versions/:vid- Address
https://<your-org>.brambleit.cloud/atlas/api/diagrams/:id/versions/:vid- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer | |
vidrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
version | object | |
version.id | integer, or null | |
version.diagram_id | integer | |
version.version | integer | |
version.name | string | |
version.data | string | |
version.saved_by | integer, or null | |
version.saved_name | string, or null | |
version.saved_at | string (date-time), or null |
Example response
JSON
{
"version": {
"id": 42,
"diagram_id": 7,
"version": 1,
"name": "Example name",
"data": "string",
"saved_by": 1,
"saved_name": "Example saved name",
"saved_at": "2026-11-12T09:30:00.000Z"
}
}Errors
| Status | Message |
|---|---|
| 404 | Version not found |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/diagrams/42/versions/1', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Restore a diagram version
POST
/api/diagrams/:id/versions/:vid/restore- Address
https://<your-org>.brambleit.cloud/atlas/api/diagrams/:id/versions/:vid/restore- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer | |
vidrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Errors
| Status | Message |
|---|---|
| 404 | Version not found |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/diagrams/42/versions/1/restore', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();Was this page helpful?
Thanks for your feedback.