Admin
WiKi administration.
| Method | Path | Summary |
|---|---|---|
| GET | /v1/app/kb/admin/collections | Collections across all spaces (admin only) |
| GET | /v1/app/kb/admin/articles | Articles across all spaces (admin only), filterable by status |
| GET | /v1/app/kb/admin/archived | Archived items for the tenant (global admin only) |
| POST | /v1/app/kb/admin/spaces/:space_id/restore | RESTORE archived space |
| DELETE | /v1/app/kb/admin/spaces/:space_id/purge | PERMANENTLY delete archived space |
| POST | /v1/app/kb/admin/collections/:collection_id/restore | RESTORE archived collection |
| DELETE | /v1/app/kb/admin/collections/:collection_id/purge | PERMANENTLY delete archived collection |
| POST | /v1/app/kb/admin/articles/:article_id/restore | RESTORE archived article |
| DELETE | /v1/app/kb/admin/articles/:article_id/purge | PERMANENTLY delete archived article |
#Collections across all spaces (admin only)
GET
/v1/app/kb/admin/collections- Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/collections- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.
Response 200
| Field | Type | Description |
|---|---|---|
collections | array of object | |
collections[].id | integer | |
collections[].tenant_id | integer | |
collections[].space_id | integer | |
collections[].name | string | |
collections[].slug | string | |
collections[].description | string, or null | |
collections[].sort_order | integer | |
collections[].created_by | integer | |
collections[].created_at | string (date-time) | |
collections[].updated_at | string (date-time) | |
collections[].archived_at | string (date-time), or null | |
collections[].icon_emoji | string | |
collections[].color_hex | string | |
collections[].banner_image_id | integer, or null | |
collections[].logo_image_id | integer, or null | |
collections[].space_name | string | |
collections[].space_slug | string | |
collections[].space_color | string, or null | |
collections[].space_icon | string, or null | |
collections[].space_type | string: "shared" | "personal" | |
collections[].article_count | boolean |
Example response
JSON
{
"collections": [
{
"id": 42,
"tenant_id": 1,
"space_id": 7,
"name": "Example name",
"slug": "example",
"description": "string",
"sort_order": 1,
"created_by": 1,
"created_at": "2026-11-12T09:30:00.000Z",
"updated_at": "2026-11-12T09:30:00.000Z",
"archived_at": "2026-11-12T09:30:00.000Z",
"icon_emoji": "string",
"color_hex": "#2563eb",
"banner_image_id": 7,
"logo_image_id": 7,
"space_name": "Example space name",
"space_slug": "example",
"space_color": "#2563eb",
"space_icon": "string",
"space_type": "shared",
"article_count": false
}
]
}Errors
| Status | Message |
|---|---|
| 404 | User not found |
| 403 | Global admin required |
Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/collections' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/collections', {
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/kb/admin/collections",
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/kb/admin/collections' -Headers $headers#Articles across all spaces (admin only), filterable by status
GET
/v1/app/kb/admin/articles- Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/articles- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.
Query parameters
| Name | Type | Description |
|---|---|---|
status | string |
Response 200
| Field | Type | Description |
|---|---|---|
articles | array of object | |
articles[].id | integer | |
articles[].title | string | |
articles[].slug | string | |
articles[].status | string: "draft" | "published" | "archived" | |
articles[].updated_at | string (date-time) | |
articles[].created_at | string (date-time) | |
articles[].archived_at | string (date-time), or null | |
articles[].collection_name | string | |
articles[].collection_slug | string | |
articles[].space_name | string | |
articles[].space_slug | string | |
articles[].space_color | string, or null | |
articles[].space_type | string: "shared" | "personal" |
Example response
JSON
{
"articles": [
{
"id": 42,
"title": "Example title",
"slug": "example",
"status": "draft",
"updated_at": "2026-11-12T09:30:00.000Z",
"created_at": "2026-11-12T09:30:00.000Z",
"archived_at": "2026-11-12T09:30:00.000Z",
"collection_name": "Example collection name",
"collection_slug": "example",
"space_name": "Example space name",
"space_slug": "example",
"space_color": "#2563eb",
"space_type": "shared"
}
]
}Errors
| Status | Message |
|---|---|
| 404 | User not found |
| 403 | Global admin required |
Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/articles' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/articles', {
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/kb/admin/articles",
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/kb/admin/articles' -Headers $headers#Archived items for the tenant (global admin only)
GET
/v1/app/kb/admin/archived- Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/archived- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.
Response 200
| Field | Type | Description |
|---|---|---|
spaces | array of any | |
collections | array of any | |
articles | array of any |
Example response
JSON
{
"spaces": [],
"collections": [],
"articles": []
}Errors
| Status | Message |
|---|---|
| 404 | User not found |
| 403 | Global admin required |
Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/archived' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/archived', {
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/kb/admin/archived",
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/kb/admin/archived' -Headers $headers#RESTORE archived space
POST
/v1/app/kb/admin/spaces/:space_id/restore- Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/spaces/:space_id/restore- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.
Path parameters
| Name | Type | Description |
|---|---|---|
space_idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
message | string | |
slug | string |
Example response
JSON
{
"message": "Saved",
"slug": "example"
}Errors
| Status | Message |
|---|---|
| 404 | User not found |
| 403 | Global admin required |
| 404 | Archived space not found |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/spaces/7/restore' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/spaces/7/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/api/v1/app/kb/admin/spaces/7/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/api/v1/app/kb/admin/spaces/7/restore' -Headers $headers#PERMANENTLY delete archived space
DELETE
/v1/app/kb/admin/spaces/:space_id/purge- Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/spaces/:space_id/purge- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.
Path parameters
| Name | Type | Description |
|---|---|---|
space_idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
message | string |
Example response
JSON
{
"message": "Saved"
}Errors
| Status | Message |
|---|---|
| 404 | User not found |
| 403 | Global admin required |
| 404 | Archived space not found |
Example request
Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/spaces/7/purge' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/spaces/7/purge', {
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/kb/admin/spaces/7/purge",
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/kb/admin/spaces/7/purge' -Headers $headers#RESTORE archived collection
POST
/v1/app/kb/admin/collections/:collection_id/restore- Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/collections/:collection_id/restore- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.
Path parameters
| Name | Type | Description |
|---|---|---|
collection_idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
message | string | |
slug | string |
Example response
JSON
{
"message": "Saved",
"slug": "example"
}Errors
| Status | Message |
|---|---|
| 404 | User not found |
| 403 | Global admin required |
| 404 | Archived collection not found |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/collections/7/restore' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/collections/7/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/api/v1/app/kb/admin/collections/7/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/api/v1/app/kb/admin/collections/7/restore' -Headers $headers#PERMANENTLY delete archived collection
DELETE
/v1/app/kb/admin/collections/:collection_id/purge- Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/collections/:collection_id/purge- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.
Path parameters
| Name | Type | Description |
|---|---|---|
collection_idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
message | string |
Example response
JSON
{
"message": "Saved"
}Errors
| Status | Message |
|---|---|
| 404 | User not found |
| 403 | Global admin required |
| 404 | Archived collection not found |
Example request
Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/collections/7/purge' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/collections/7/purge', {
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/kb/admin/collections/7/purge",
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/kb/admin/collections/7/purge' -Headers $headers#RESTORE archived article
POST
/v1/app/kb/admin/articles/:article_id/restore- Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/articles/:article_id/restore- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.
Path parameters
| Name | Type | Description |
|---|---|---|
article_idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
message | string |
Example response
JSON
{
"message": "Saved"
}Errors
| Status | Message |
|---|---|
| 404 | User not found |
| 403 | Global admin required |
| 404 | Archived article not found |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/articles/7/restore' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/articles/7/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/api/v1/app/kb/admin/articles/7/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/api/v1/app/kb/admin/articles/7/restore' -Headers $headers#PERMANENTLY delete archived article
DELETE
/v1/app/kb/admin/articles/:article_id/purge- Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/articles/:article_id/purge- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.
Path parameters
| Name | Type | Description |
|---|---|---|
article_idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
message | string |
Example response
JSON
{
"message": "Saved"
}Errors
| Status | Message |
|---|---|
| 404 | User not found |
| 403 | Global admin required |
| 404 | Archived article not found |
Example request
Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/articles/7/purge' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/kb/admin/articles/7/purge', {
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/kb/admin/articles/7/purge",
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/kb/admin/articles/7/purge' -Headers $headersWas this page helpful?
Thanks for your feedback.