Documents
Documents attached to a project.
| Method | Path | Summary |
|---|---|---|
| GET | /v1/app/project/projects/:id/documents | List a project's documents (Wiki) |
| POST | /v1/app/project/projects/:id/documents | Create a document. Requires at least member role on the project |
| GET | /v1/app/project/projects/:id/documents/:docId | Get a single document, including its content |
| PATCH | /v1/app/project/projects/:id/documents/:docId | Update a document. Requires at least member role on the project |
| DELETE | /v1/app/project/projects/:id/documents/:docId | Delete a document (soft delete) |
#List a project's documents (Wiki)
GET
/v1/app/project/projects/:id/documentsList a project's documents (Wiki). Requires at least viewer role on the project.
- Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/documents- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
documents | array of object | |
documents[].id | integer | |
documents[].project_id | integer | |
documents[].parent_id | integer, or null | |
documents[].title | string | |
documents[].position | integer | |
documents[].created_by | integer | |
documents[].updated_by | integer, or null | |
documents[].created_at | string (date-time) | |
documents[].updated_at | string (date-time) |
Example response
JSON
{
"documents": [
{
"id": 42,
"project_id": 7,
"parent_id": 7,
"title": "Example title",
"position": 1,
"created_by": 1,
"updated_by": 1,
"created_at": "2026-11-12T09:30:00.000Z",
"updated_at": "2026-11-12T09:30:00.000Z"
}
]
}Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents', {
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/app/project/projects/42/documents",
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/app/project/projects/42/documents' -Headers $headers#Create a document. Requires at least member role on the project
POST
/v1/app/project/projects/:id/documents- Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/documents- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Request body JSON
| Name | Type | Description |
|---|---|---|
titlerequired | string | |
content | any | |
parent_id | integer |
Response 201
| Field | Type | Description |
|---|---|---|
document | any |
Example response
JSON
{
"document": null
}Errors
| Status | Message |
|---|---|
| 400 | title is required |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Example title","content":"…","parent_id":7}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"title":"Example title","content":"…","parent_id":7}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"title":"Example title","content":"…","parent_id":7},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"title":"Example title","content":"…","parent_id":7}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents' -Headers $headers -ContentType 'application/json' -Body $body#Get a single document, including its content
GET
/v1/app/project/projects/:id/documents/:docIdGet a single document, including its content. Requires at least viewer role on the project.
- Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/documents/:docId- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer | |
docIdrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
document | any |
Example response
JSON
{
"document": null
}Errors
| Status | Message |
|---|---|
| 404 | Document not found |
Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents/1' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents/1', {
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/app/project/projects/42/documents/1",
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/app/project/projects/42/documents/1' -Headers $headers#Update a document. Requires at least member role on the project
PATCH
/v1/app/project/projects/:id/documents/:docId- Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/documents/:docId- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer | |
docIdrequired | integer |
Request body JSON
| Name | Type | Description |
|---|---|---|
title | string | |
content | any | |
parent_id | integer | |
position | integer |
Response 200
| Field | Type | Description |
|---|---|---|
document | any |
Example response
JSON
{
"document": null
}Example request
Bash
curl -X PATCH 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents/1' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Example title","content":"…","parent_id":7,"position":1}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents/1', {
method: 'PATCH',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"title":"Example title","content":"…","parent_id":7,"position":1}),
});
const data = await res.json();Python
import os, requests
r = requests.patch(
"https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents/1",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"title":"Example title","content":"…","parent_id":7,"position":1},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"title":"Example title","content":"…","parent_id":7,"position":1}'
Invoke-RestMethod -Method PATCH -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents/1' -Headers $headers -ContentType 'application/json' -Body $body#Delete a document (soft delete)
DELETE
/v1/app/project/projects/:id/documents/:docIdDelete a document (soft delete). Requires at least member role on the project.
- Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/documents/:docId- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer | |
docIdrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Example request
Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents/1' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/documents/1', {
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/api/v1/app/project/projects/42/documents/1",
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/api/v1/app/project/projects/42/documents/1' -Headers $headersWas this page helpful?
Thanks for your feedback.