Files & folders

One item: details, contents and thumbnails, rename, star, versions, activity, and sharing (people, groups and links). Plus creating folders, moving, copying and downloading several items as a zip.

MethodPathSummary
GET/api/v2/items/:idGet an item
GET/api/v2/items/:id/contentDownload a file
GET/api/v2/items/:id/thumbA file's thumbnail
PATCH/api/v2/items/:idRename an item
POST/api/v2/items/:id/starStar or unstar an item
GET/api/v2/items/:id/versionsA file's versions
POST/api/v2/items/:id/versions/:vid/restoreRestore an older version
DELETE/api/v2/items/:id/versions/:vidDelete an older version
GET/api/v2/items/:id/activityAn item's activity
GET/api/v2/items/:id/sharingWho an item is shared with
POST/api/v2/items/:id/sharing/grantsShare an item with a person or group
PATCH/api/v2/items/:id/sharing/grants/:gidChange someone's access to an item
DELETE/api/v2/items/:id/sharing/grants/:gidStop sharing an item with someone
POST/api/v2/items/:id/sharing/linksCreate a share link
DELETE/api/v2/items/:id/sharing/links/:lidDelete a share link
POST/api/v2/items/:id/keepKeep a file out of the bin's automatic clean-up
POST/api/v2/foldersCreate a folder
POST/api/v2/folders/ensureMake sure a folder path exists
POST/api/v2/moveMove items
POST/api/v2/copyCopy items
GET/api/v2/zipDownload items as a zip

#Get an item

GET/api/v2/items/:id
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Response 200

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Download a file

GET/api/v2/items/:id/content
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/content
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Query parameters

NameTypeDescription
vnumberA version number (default the latest).
downloadboolean1 to download rather than open in the browser.

Errors

StatusMessage
400Folders have no content — download them as a zip
404Version not found

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/content' \
  -H "X-API-Key: $BRAMBLE_KEY"

#A file's thumbnail

GET/api/v2/items/:id/thumb
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/thumb
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Query parameters

NameTypeDescription
snumberSize in pixels.

Response

An empty body, a body.

Errors

StatusMessage
404No thumbnail

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/thumb' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Rename an item

PATCH/api/v2/items/:id
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Request body JSON

NameTypeDescription
namestringThe new name.

Response 200

Example request

Bash
curl -X PATCH 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example name"}'

#Star or unstar an item

POST/api/v2/items/:id/star
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/star
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Request body JSON

NameTypeDescription
onanytrue to star, false to unstar.

Response 200

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

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/star' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"on":"…"}'

#A file's versions

GET/api/v2/items/:id/versions
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/versions
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Response 200

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/versions' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Restore an older version

POST/api/v2/items/:id/versions/:vid/restore
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/versions/:vid/restore
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber
vidrequirednumber

Response 200

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/versions/12.5/restore' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Delete an older version

DELETE/api/v2/items/:id/versions/:vid
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/versions/:vid
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber
vidrequirednumber

Response 200

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

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/versions/12.5' \
  -H "X-API-Key: $BRAMBLE_KEY"

#An item's activity

GET/api/v2/items/:id/activity
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/activity
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Response 200

FieldTypeDescription
activityany
Example response
JSON
{
  "activity": null
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/activity' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Who an item is shared with

GET/api/v2/items/:id/sharing
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/sharing
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Response 200

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Share an item with a person or group

POST/api/v2/items/:id/sharing/grants
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/sharing/grants
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Request body JSON

NameTypeDescription
typestringuser or group.
idintegerThe person's or group's id.
roleanyviewer or editor.

Response 200

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"string","id":42,"role":"…"}'

#Change someone's access to an item

PATCH/api/v2/items/:id/sharing/grants/:gid
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/sharing/grants/:gid
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber
gidrequirednumber

Request body JSON

NameTypeDescription
roleanyviewer or editor.

Response 200

Example request

Bash
curl -X PATCH 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants/12.5' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"role":"…"}'

#Stop sharing an item with someone

DELETE/api/v2/items/:id/sharing/grants/:gid
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/sharing/grants/:gid
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber
gidrequirednumber

Response 200

FieldTypeDescription
removed_selfboolean
Example response
JSON
{
  "removed_self": false
}

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants/12.5' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Create a share link

POST/api/v2/items/:id/sharing/links
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/sharing/links
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Request body JSON

NameTypeDescription
expires_daysintegerDays until the link stops working (empty for never).
passwordanyA password people must enter (optional).
allow_downloadbooleanLet people download, not just view.

Response 200

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/links' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"expires_days":1,"password":"…","allow_download":false}'

#Keep a file out of the bin's automatic clean-up

POST/api/v2/items/:id/keep
Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/keep
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Path parameters

NameTypeDescription
idrequirednumber

Response 200

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/keep' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Create a folder

POST/api/v2/folders
Address
https://<your-org>.brambleit.cloud/drive/api/v2/folders
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Request body JSON

NameTypeDescription
parentanyThe folder to create it in.
parent_idinteger
siteanyThe library to create it in.
site_idinteger
namestringThe folder's name.

Response 201

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/drive/api/v2/folders' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parent":"…","parent_id":7,"site":"…","site_id":7,"name":"Example name"}'

#Make sure a folder path exists

POST/api/v2/folders/ensure

Creates any missing folders along path (like mkdir -p) and returns the last one.

Address
https://<your-org>.brambleit.cloud/drive/api/v2/folders/ensure
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Request body JSON

NameTypeDescription
parentany
parent_idinteger
siteany
site_idinteger
pathstringA path such as Invoices/2026/November.

Response 200

FieldTypeDescription
idinteger
Example response
JSON
{
  "id": 42
}

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/drive/api/v2/folders/ensure' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parent":"…","parent_id":7,"site":"…","site_id":7,"path":"string"}'

#Move items

POST/api/v2/move
Address
https://<your-org>.brambleit.cloud/drive/api/v2/move
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Request body JSON

NameTypeDescription
parentanyThe folder to move them into.
parent_idinteger
siteanyThe library to move them into.
site_idinteger
idsarray of anyThe items to move.

Response 200

FieldTypeDescription
itemsarray of any
Example response
JSON
{
  "items": []
}

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/drive/api/v2/move' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parent":"…","parent_id":7,"site":"…","site_id":7,"ids":[]}'

#Copy items

POST/api/v2/copy
Address
https://<your-org>.brambleit.cloud/drive/api/v2/copy
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Request body JSON

NameTypeDescription
parentanyThe folder to copy them into.
parent_idinteger
siteanyThe library to copy them into.
site_idinteger
idsarray of anyThe items to copy.

Response 200

FieldTypeDescription
itemsarray of any
Example response
JSON
{
  "items": []
}

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/drive/api/v2/copy' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parent":"…","parent_id":7,"site":"…","site_id":7,"ids":[]}'

#Download items as a zip

GET/api/v2/zip
Address
https://<your-org>.brambleit.cloud/drive/api/v2/zip
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.

Query parameters

NameTypeDescription
idsarray of anyComma-separated item ids.

Errors

StatusMessage
400Nothing to download
413That is more than 20 GB — download it in smaller parts

Example request

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