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.
| Method | Path | Summary |
|---|---|---|
| GET | /api/v2/items/:id | Get an item |
| GET | /api/v2/items/:id/content | Download a file |
| GET | /api/v2/items/:id/thumb | A file's thumbnail |
| PATCH | /api/v2/items/:id | Rename an item |
| POST | /api/v2/items/:id/star | Star or unstar an item |
| GET | /api/v2/items/:id/versions | A file's versions |
| POST | /api/v2/items/:id/versions/:vid/restore | Restore an older version |
| DELETE | /api/v2/items/:id/versions/:vid | Delete an older version |
| GET | /api/v2/items/:id/activity | An item's activity |
| GET | /api/v2/items/:id/sharing | Who an item is shared with |
| POST | /api/v2/items/:id/sharing/grants | Share an item with a person or group |
| PATCH | /api/v2/items/:id/sharing/grants/:gid | Change someone's access to an item |
| DELETE | /api/v2/items/:id/sharing/grants/:gid | Stop sharing an item with someone |
| POST | /api/v2/items/:id/sharing/links | Create a share link |
| DELETE | /api/v2/items/:id/sharing/links/:lid | Delete a share link |
| POST | /api/v2/items/:id/keep | Keep a file out of the bin's automatic clean-up |
| POST | /api/v2/folders | Create a folder |
| POST | /api/v2/folders/ensure | Make sure a folder path exists |
| POST | /api/v2/move | Move items |
| POST | /api/v2/copy | Copy items |
| GET | /api/v2/zip | Download 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
| Name | Type | Description |
|---|---|---|
idrequired | number |
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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5', {
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/drive/api/v2/items/12.5",
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/drive/api/v2/items/12.5' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
idrequired | number |
Query parameters
| Name | Type | Description |
|---|---|---|
v | number | A version number (default the latest). |
download | boolean | 1 to download rather than open in the browser. |
Errors
| Status | Message |
|---|---|
| 400 | Folders have no content — download them as a zip |
| 404 | Version 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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/content', {
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/drive/api/v2/items/12.5/content",
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/drive/api/v2/items/12.5/content' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
idrequired | number |
Query parameters
| Name | Type | Description |
|---|---|---|
s | number | Size in pixels. |
Response
An empty body, a body.
Errors
| Status | Message |
|---|---|
| 404 | No 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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/thumb', {
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/drive/api/v2/items/12.5/thumb",
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/drive/api/v2/items/12.5/thumb' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
idrequired | number |
Request body JSON
| Name | Type | Description |
|---|---|---|
name | string | The 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"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5', {
method: 'PATCH',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"name":"Example name"}),
});
const data = await res.json();Python
import os, requests
r = requests.patch(
"https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"name":"Example name"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"name":"Example name"}'
Invoke-RestMethod -Method PATCH -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5' -Headers $headers -ContentType 'application/json' -Body $body#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
| Name | Type | Description |
|---|---|---|
idrequired | number |
Request body JSON
| Name | Type | Description |
|---|---|---|
on | any | true to star, false to unstar. |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
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":"…"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/star', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"on":"…"}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/star",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"on":"…"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"on":"…"}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/star' -Headers $headers -ContentType 'application/json' -Body $body#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
| Name | Type | Description |
|---|---|---|
idrequired | number |
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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/versions', {
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/drive/api/v2/items/12.5/versions",
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/drive/api/v2/items/12.5/versions' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
idrequired | number | |
vidrequired | number |
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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/versions/12.5/restore', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/versions/12.5/restore",
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 POST -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/versions/12.5/restore' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
idrequired | number | |
vidrequired | number |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/versions/12.5', {
method: 'DELETE',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.delete(
"https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/versions/12.5",
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 DELETE -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/versions/12.5' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
idrequired | number |
Response 200
| Field | Type | Description |
|---|---|---|
activity | any |
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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/activity', {
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/drive/api/v2/items/12.5/activity",
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/drive/api/v2/items/12.5/activity' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
idrequired | number |
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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing', {
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/drive/api/v2/items/12.5/sharing",
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/drive/api/v2/items/12.5/sharing' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
idrequired | number |
Request body JSON
| Name | Type | Description |
|---|---|---|
type | string | user or group. |
id | integer | The person's or group's id. |
role | any | viewer 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":"…"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"type":"string","id":42,"role":"…"}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"type":"string","id":42,"role":"…"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"type":"string","id":42,"role":"…"}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants' -Headers $headers -ContentType 'application/json' -Body $body#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
| Name | Type | Description |
|---|---|---|
idrequired | number | |
gidrequired | number |
Request body JSON
| Name | Type | Description |
|---|---|---|
role | any | viewer 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":"…"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants/12.5', {
method: 'PATCH',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"role":"…"}),
});
const data = await res.json();Python
import os, requests
r = requests.patch(
"https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants/12.5",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"role":"…"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"role":"…"}'
Invoke-RestMethod -Method PATCH -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants/12.5' -Headers $headers -ContentType 'application/json' -Body $body#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
| Name | Type | Description |
|---|---|---|
idrequired | number | |
gidrequired | number |
Response 200
| Field | Type | Description |
|---|---|---|
removed_self | boolean |
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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants/12.5', {
method: 'DELETE',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.delete(
"https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants/12.5",
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 DELETE -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/grants/12.5' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
idrequired | number |
Request body JSON
| Name | Type | Description |
|---|---|---|
expires_days | integer | Days until the link stops working (empty for never). |
password | any | A password people must enter (optional). |
allow_download | boolean | Let 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}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/links', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"expires_days":1,"password":"…","allow_download":false}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/links",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"expires_days":1,"password":"…","allow_download":False},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"expires_days":1,"password":"…","allow_download":false}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/links' -Headers $headers -ContentType 'application/json' -Body $body#Delete a share link
DELETE
/api/v2/items/:id/sharing/links/:lid- Address
https://<your-org>.brambleit.cloud/drive/api/v2/items/:id/sharing/links/:lid- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Drive.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | number | |
lidrequired | number |
Response 200
Example request
Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/links/12.5' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/links/12.5', {
method: 'DELETE',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.delete(
"https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/links/12.5",
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 DELETE -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/sharing/links/12.5' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
idrequired | number |
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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/keep', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/keep",
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 POST -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/items/12.5/keep' -Headers $headers#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
| Name | Type | Description |
|---|---|---|
parent | any | The folder to create it in. |
parent_id | integer | |
site | any | The library to create it in. |
site_id | integer | |
name | string | The 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"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/folders', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"parent":"…","parent_id":7,"site":"…","site_id":7,"name":"Example name"}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/drive/api/v2/folders",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"parent":"…","parent_id":7,"site":"…","site_id":7,"name":"Example name"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"parent":"…","parent_id":7,"site":"…","site_id":7,"name":"Example name"}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/folders' -Headers $headers -ContentType 'application/json' -Body $body#Make sure a folder path exists
POST
/api/v2/folders/ensureCreates 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
| Name | Type | Description |
|---|---|---|
parent | any | |
parent_id | integer | |
site | any | |
site_id | integer | |
path | string | A path such as Invoices/2026/November. |
Response 200
| Field | Type | Description |
|---|---|---|
id | integer |
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"}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/folders/ensure', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"parent":"…","parent_id":7,"site":"…","site_id":7,"path":"string"}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/drive/api/v2/folders/ensure",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"parent":"…","parent_id":7,"site":"…","site_id":7,"path":"string"},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"parent":"…","parent_id":7,"site":"…","site_id":7,"path":"string"}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/folders/ensure' -Headers $headers -ContentType 'application/json' -Body $body#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
| Name | Type | Description |
|---|---|---|
parent | any | The folder to move them into. |
parent_id | integer | |
site | any | The library to move them into. |
site_id | integer | |
ids | array of any | The items to move. |
Response 200
| Field | Type | Description |
|---|---|---|
items | array 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":[]}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/move', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"parent":"…","parent_id":7,"site":"…","site_id":7,"ids":[]}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/drive/api/v2/move",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"parent":"…","parent_id":7,"site":"…","site_id":7,"ids":[]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"parent":"…","parent_id":7,"site":"…","site_id":7,"ids":[]}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/move' -Headers $headers -ContentType 'application/json' -Body $body#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
| Name | Type | Description |
|---|---|---|
parent | any | The folder to copy them into. |
parent_id | integer | |
site | any | The library to copy them into. |
site_id | integer | |
ids | array of any | The items to copy. |
Response 200
| Field | Type | Description |
|---|---|---|
items | array 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":[]}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/copy', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"parent":"…","parent_id":7,"site":"…","site_id":7,"ids":[]}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/drive/api/v2/copy",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"parent":"…","parent_id":7,"site":"…","site_id":7,"ids":[]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"parent":"…","parent_id":7,"site":"…","site_id":7,"ids":[]}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/drive/api/v2/copy' -Headers $headers -ContentType 'application/json' -Body $body#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
| Name | Type | Description |
|---|---|---|
ids | array of any | Comma-separated item ids. |
Errors
| Status | Message |
|---|---|
| 400 | Nothing to download |
| 413 | That 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"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/drive/api/v2/zip', {
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/drive/api/v2/zip",
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/drive/api/v2/zip' -Headers $headersWas this page helpful?
Thanks for your feedback.