Admin

Asset types and their fields, Atlas settings and storage. Needs Global Administrator or Atlas Admin.

MethodPathSummary
GET/api/admin/overviewAtlas admin overview
POST/api/admin/typesCreate an asset type
PUT/api/admin/types/:idUpdate an asset type
PUT/api/admin/settingsUpdate Atlas settings
GET/api/admin/storageWhat Atlas keeps in BRM-Blob: Blob's own figures for app "atlas" (used, any Atlas limit, the tenant pool) plus a breakdown from the files table by kind and o…
POST/api/admin/storage/freeDeletes the files counted in "spare": attachments of records deleted more than 30 days ago, and document images that were never saved into a document

#Atlas admin overview

GET/api/admin/overview
Address
https://<your-org>.brambleit.cloud/atlas/api/admin/overview
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Response 200

FieldTypeDescription
typesarray of object
types[].assetsinteger
field_typesarray of any
ref_kindsarray of any
settingsobject
settings.warn_daysany
countsobject
counts.licensed_usersinteger
adminsarray of any
Example response
JSON
{
  "types": [
    {
      "…x": "…",
      "assets": 1
    }
  ],
  "field_types": [],
  "ref_kinds": [],
  "settings": {
    "warn_days": null
  },
  "counts": {
    "licensed_users": 1
  },
  "admins": []
}

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/admin/overview', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();

#Create an asset type

POST/api/admin/types
Address
https://<your-org>.brambleit.cloud/atlas/api/admin/types
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Request body JSON

NameTypeDescription
namestringThe type's name.
categorystringWhere it's grouped.
iconany
colourany
descriptionstring
fieldsarray of anyThe type's fields (name, kind, required, secret…).
sortnumber

Response 200

FieldTypeDescription
typestring
Example response
JSON
{
  "type": "string"
}

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/admin/types', {
  method: 'POST',
  credentials: 'include',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({"name":"Example name","category":"string","icon":"…","colour":"…","description":"string","fields":[],"sort":12.5}),
});
const data = await res.json();

#Update an asset type

PUT/api/admin/types/:id
Address
https://<your-org>.brambleit.cloud/atlas/api/admin/types/:id
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Path parameters

NameTypeDescription
idrequiredinteger

Request body JSON

NameTypeDescription
fieldsarray of any
archivedany

Response 200

FieldTypeDescription
typestring
Example response
JSON
{
  "type": "string"
}

Errors

StatusMessage
404Type not found

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/admin/types/42', {
  method: 'PUT',
  credentials: 'include',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({"fields":[],"archived":"…"}),
});
const data = await res.json();

#Update Atlas settings

PUT/api/admin/settings
Address
https://<your-org>.brambleit.cloud/atlas/api/admin/settings
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Request body JSON

NameTypeDescription
warn_daysnumberDays before an expiry to warn.

Response 200

FieldTypeDescription
settingsobject
settings.warn_daysinteger
Example response
JSON
{
  "settings": {
    "warn_days": 1
  }
}

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/admin/settings', {
  method: 'PUT',
  credentials: 'include',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({"warn_days":12.5}),
});
const data = await res.json();

#What Atlas keeps in BRM-Blob: Blob's own figures for app "atlas" (used, any Atlas limit, the tenant pool) plus a breakdown from the files table by kind and o…

GET/api/admin/storage

What Atlas keeps in BRM-Blob: Blob's own figures for app "atlas" (used, any Atlas limit, the tenant pool) plus a breakdown from the files table by kind and organisation, the largest files, and what can be freed.

Address
https://<your-org>.brambleit.cloud/atlas/api/admin/storage
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Response 200

FieldTypeDescription
usageany
kindsarray of any
orgsarray of object
orgs[].namestring, or null
largestarray of object
largest[].sizenumber
largest[].org_nameany, or null
spareany
Example response
JSON
{
  "usage": null,
  "kinds": [],
  "orgs": [
    {
      "…num(r)": "…",
      "name": "Example name"
    }
  ],
  "largest": [
    {
      "…r": "…",
      "size": 12.5,
      "org_name": null
    }
  ],
  "spare": null
}

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/admin/storage', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();

#Deletes the files counted in "spare": attachments of records deleted more than 30 days ago, and document images that were never saved into a document

POST/api/admin/storage/free
Address
https://<your-org>.brambleit.cloud/atlas/api/admin/storage/free
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in). Admins only (Global Administrator or the app's admin role).

Response 200

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/admin/storage/free', {
  method: 'POST',
  credentials: 'include',
});
const data = await res.json();