Storage
The organisation's storage pool: how much each app and person uses, per-app limits, and Drive settings.
| Method | Path | Summary |
|---|---|---|
| GET | /v1/admin/storage/overview | The tenant's storage pool, where it comes from, and what each app uses |
| PUT | /v1/admin/storage/apps/:app/quota | Cap how much of the pool one app may use (quota_bytes null removes the cap) |
| GET | /v1/admin/storage/users | Staff users with their storage use across apps and their Drive personal quota |
| PUT | /v1/admin/storage/users/:userId/quota | Set one user's Drive personal quota (quota_bytes null = unlimited; use_default true = follow the tenant default) |
| GET | /v1/admin/storage/largest | The biggest stored files across all apps (or one, with ?app=) |
| GET | /v1/admin/storage/history | Daily storage use per app (?days=, default 90) |
| GET | /v1/admin/storage/drive-settings | Drive rules for this tenant (personal quota, versions kept, bin retention, link sharing, quick shares) |
| PUT | /v1/admin/storage/drive-settings | Update 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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/admin/storage/overview', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v1/admin/storage/overview",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/overview' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
apprequired | string |
Request body JSON
| Name | Type | Description |
|---|---|---|
quota_bytes | integer |
Response 200
Errors
| Status | Message |
|---|---|
| 400 | quota_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}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/admin/storage/apps/string/quota', {
method: 'PUT',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"quota_bytes":1}),
});
const data = await res.json();Python
import os, requests
r = requests.put(
"https://<your-org>.brambleit.cloud/api/v1/admin/storage/apps/string/quota",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"quota_bytes":1},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"quota_bytes":1}'
Invoke-RestMethod -Method PUT -Uri 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/apps/string/quota' -Headers $headers -ContentType 'application/json' -Body $body#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
| Field | Type | Description |
|---|---|---|
default_personal_quota_bytes | integer | |
users | array of object | |
users[].id | integer | |
users[].name | string | |
users[].email | string | |
users[].active | boolean | |
users[].total_bytes | integer | |
users[].drive_personal_bytes | integer | |
users[].quota_override | boolean | |
users[].drive_quota_bytes | integer |
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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/admin/storage/users', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v1/admin/storage/users",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/users' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
userIdrequired | number |
Request body JSON
| Name | Type | Description |
|---|---|---|
use_default | any | |
quota_bytes | integer |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Errors
| Status | Message |
|---|---|
| 400 | quota_bytes must be a whole number of bytes, or null for unlimited |
| 404 | User 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}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/admin/storage/users/12.5/quota', {
method: 'PUT',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"use_default":"…","quota_bytes":1}),
});
const data = await res.json();Python
import os, requests
r = requests.put(
"https://<your-org>.brambleit.cloud/api/v1/admin/storage/users/12.5/quota",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"use_default":"…","quota_bytes":1},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"use_default":"…","quota_bytes":1}'
Invoke-RestMethod -Method PUT -Uri 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/users/12.5/quota' -Headers $headers -ContentType 'application/json' -Body $body#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
| Name | Type | Description |
|---|---|---|
app | string |
Response 200
| Field | Type | Description |
|---|---|---|
files | array of object | |
files[].owner_name | any |
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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/admin/storage/largest', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v1/admin/storage/largest",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/largest' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
days | number |
Response 200
Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/history' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/admin/storage/history', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v1/admin/storage/history",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/history' -Headers $headers#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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/admin/storage/drive-settings', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v1/admin/storage/drive-settings",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/drive-settings' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
personal_quota_bytes | integer | |
version_limit | number | |
trash_days | number | |
link_max_days | string | |
temp_enabled | boolean | |
temp_max_days | number | |
links_enabled | any |
Response 200
Errors
| Status | Message |
|---|---|
| 400 | Personal quota must be a number of bytes, or empty for no limit |
| 400 | Versions kept must be 0–500 |
| 400 | Bin retention must be 1–365 days |
| 400 | Longest link must be 1–3650 days, or empty |
| 400 | Longest 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":"…"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/admin/storage/drive-settings', {
method: 'PUT',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"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":"…"}),
});
const data = await res.json();Python
import os, requests
r = requests.put(
"https://<your-org>.brambleit.cloud/api/v1/admin/storage/drive-settings",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"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":"…"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"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":"…"}'
Invoke-RestMethod -Method PUT -Uri 'https://<your-org>.brambleit.cloud/api/v1/admin/storage/drive-settings' -Headers $headers -ContentType 'application/json' -Body $bodyWas this page helpful?
Thanks for your feedback.