Storage

The organisation's storage pool: how much each app and person uses, per-app limits, and Drive settings.

MethodPathSummary
GET/v1/admin/storage/overviewThe tenant's storage pool, where it comes from, and what each app uses
PUT/v1/admin/storage/apps/:app/quotaCap how much of the pool one app may use (quota_bytes null removes the cap)
GET/v1/admin/storage/usersStaff users with their storage use across apps and their Drive personal quota
PUT/v1/admin/storage/users/:userId/quotaSet one user's Drive personal quota (quota_bytes null = unlimited; use_default true = follow the tenant default)
GET/v1/admin/storage/largestThe biggest stored files across all apps (or one, with ?app=)
GET/v1/admin/storage/historyDaily storage use per app (?days=, default 90)
GET/v1/admin/storage/drive-settingsDrive rules for this tenant (personal quota, versions kept, bin retention, link sharing, quick shares)
PUT/v1/admin/storage/drive-settingsUpdate the drive settings

#The tenant's storage pool, where it comes from, and what each app uses

GET/v1/admin/storage/overview
Address
https://<your-org>.brambleit.cloud/api/v1/admin/storage/overview
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): drive.admin.manage.

Response 200

Example request

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

#Cap how much of the pool one app may use (quota_bytes null removes the cap)

PUT/v1/admin/storage/apps/:app/quota
Address
https://<your-org>.brambleit.cloud/api/v1/admin/storage/apps/:app/quota
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): drive.admin.manage.

Path parameters

NameTypeDescription
apprequiredstring

Request body JSON

NameTypeDescription
quota_bytesinteger

Response 200

Errors

StatusMessage
400quota_bytes must be a whole number of bytes, or null for no limit

Example request

Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/apps/string/quota' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"quota_bytes":1}'

#Staff users with their storage use across apps and their Drive personal quota

GET/v1/admin/storage/users
Address
https://<your-org>.brambleit.cloud/api/v1/admin/storage/users
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): drive.admin.manage.

Response 200

FieldTypeDescription
default_personal_quota_bytesinteger
usersarray of object
users[].idinteger
users[].namestring
users[].emailstring
users[].activeboolean
users[].total_bytesinteger
users[].drive_personal_bytesinteger
users[].quota_overrideboolean
users[].drive_quota_bytesinteger
Example response
JSON
{
  "default_personal_quota_bytes": 1,
  "users": [
    {
      "id": 42,
      "name": "Example name",
      "email": "alex@example.com",
      "active": true,
      "total_bytes": 3,
      "drive_personal_bytes": 1,
      "quota_override": false,
      "drive_quota_bytes": 1
    }
  ]
}

Example request

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

#Set one user's Drive personal quota (quota_bytes null = unlimited; use_default true = follow the tenant default)

PUT/v1/admin/storage/users/:userId/quota
Address
https://<your-org>.brambleit.cloud/api/v1/admin/storage/users/:userId/quota
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): drive.admin.manage.

Path parameters

NameTypeDescription
userIdrequirednumber

Request body JSON

NameTypeDescription
use_defaultany
quota_bytesinteger

Response 200

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

Errors

StatusMessage
400quota_bytes must be a whole number of bytes, or null for unlimited
404User not found

Example request

Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/users/12.5/quota' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"use_default":"…","quota_bytes":1}'

#The biggest stored files across all apps (or one, with ?app=)

GET/v1/admin/storage/largest
Address
https://<your-org>.brambleit.cloud/api/v1/admin/storage/largest
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): drive.admin.manage.

Query parameters

NameTypeDescription
appstring

Response 200

FieldTypeDescription
filesarray of object
files[].owner_nameany
Example response
JSON
{
  "files": [
    {
      "…r": "…",
      "owner_name": null
    }
  ]
}

Example request

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

#Daily storage use per app (?days=, default 90)

GET/v1/admin/storage/history
Address
https://<your-org>.brambleit.cloud/api/v1/admin/storage/history
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): drive.admin.manage.

Query parameters

NameTypeDescription
daysnumber

Response 200

Example request

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

#Drive rules for this tenant (personal quota, versions kept, bin retention, link sharing, quick shares)

GET/v1/admin/storage/drive-settings
Address
https://<your-org>.brambleit.cloud/api/v1/admin/storage/drive-settings
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Permission (any of): drive.admin.manage.

Response 200

Example request

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

#Update the drive settings

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

Request body JSON

NameTypeDescription
personal_quota_bytesinteger
version_limitnumber
trash_daysnumber
link_max_daysstring
temp_enabledboolean
temp_max_daysnumber
links_enabledany

Response 200

Errors

StatusMessage
400Personal quota must be a number of bytes, or empty for no limit
400Versions kept must be 0–500
400Bin retention must be 1–365 days
400Longest link must be 1–3650 days, or empty
400Longest quick share must be 1–365 days

Example request

Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/drive-settings' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"personal_quota_bytes":1,"version_limit":12.5,"trash_days":12.5,"link_max_days":"https://example.com/…","temp_enabled":true,"temp_max_days":12.5,"links_enabled":"…"}'