Collections

Groups of articles within a space.

MethodPathSummary
GET/v1/app/kb/collections/slug/:slugBy slug
GET/v1/app/kb/collections/:collection_idCollection (check ACL on collection)
PUT/v1/app/kb/collections/:collection_idUPDATE collection (need manage on collection or space)
DELETE/v1/app/kb/collections/:collection_idCollection
GET/v1/app/kb/collections/:collection_id/articlesIn a collection (read on space or collection)
POST/v1/app/kb/collections/:collection_id/articlesCREATE article in a collection (write on collection/space)
POST/v1/app/kb/collections/:collection_id/bannerCollection banner
DELETE/v1/app/kb/collections/:collection_id/bannerRemove a collection's banner
POST/v1/app/kb/collections/:collection_id/logoCollection logo
DELETE/v1/app/kb/collections/:collection_id/logoRemove a collection's logo

#By slug

GET/v1/app/kb/collections/slug/:slug
Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/slug/:slug
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.

Path parameters

NameTypeDescription
slugrequiredstring

Response 200

FieldTypeDescription
collectionany
Example response
JSON
{
  "collection": null
}

Errors

StatusMessage
404User not found
404Collection not found
403No access to this collection

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/slug/example' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Collection (check ACL on collection)

GET/v1/app/kb/collections/:collection_id
Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/:collection_id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.

Path parameters

NameTypeDescription
collection_idrequiredinteger

Response 200

FieldTypeDescription
collectionany
Example response
JSON
{
  "collection": null
}

Errors

StatusMessage
404User not found
404Collection not found
403No access to this collection

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/7' \
  -H "X-API-Key: $BRAMBLE_KEY"

#UPDATE collection (need manage on collection or space)

PUT/v1/app/kb/collections/:collection_id
Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/:collection_id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.

Path parameters

NameTypeDescription
collection_idrequiredinteger

Request body JSON

NameTypeDescription
namestring
slugstring
descriptionstring
sort_orderinteger
icon_emojiany
color_hexany

Response 200

FieldTypeDescription
collectionany
Example response
JSON
{
  "collection": null
}

Errors

StatusMessage
404User not found
404Collection not found
403No manage permission on collection
409A collection with that slug already exists in your organisation.

Example request

Bash
curl -X PUT 'https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/7' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example name","slug":"example","description":"string","sort_order":1,"icon_emoji":"…","color_hex":"…"}'

#Collection

DELETE/v1/app/kb/collections/:collection_id
Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/:collection_id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.

Path parameters

NameTypeDescription
collection_idrequiredinteger

Response 200

FieldTypeDescription
messagestring
Example response
JSON
{
  "message": "Saved"
}

Errors

StatusMessage
404User not found
404Collection not found
403No manage permission on collection

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/7' \
  -H "X-API-Key: $BRAMBLE_KEY"

#In a collection (read on space or collection)

GET/v1/app/kb/collections/:collection_id/articles
Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/:collection_id/articles
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.

Path parameters

NameTypeDescription
collection_idrequiredinteger

Response 200

FieldTypeDescription
articlesarray of object
articles[].idinteger
articles[].tenant_idinteger
articles[].space_idinteger
articles[].collection_idinteger, or null
articles[].titlestring
articles[].slugstring
articles[].statusstring: "draft" | "published" | "archived"
articles[].review_interval_daysinteger, or null
articles[].next_review_atstring (date-time), or null
articles[].owner_user_idinteger, or null
articles[].created_byinteger
articles[].created_atstring (date-time)
articles[].updated_byinteger
articles[].updated_atstring (date-time)
articles[].published_atstring (date-time), or null
articles[].archived_atstring (date-time), or null
articles[].view_countinteger
Example response
JSON
{
  "articles": [
    {
      "id": 42,
      "tenant_id": 1,
      "space_id": 7,
      "collection_id": 7,
      "title": "Example title",
      "slug": "example",
      "status": "draft",
      "review_interval_days": 1,
      "next_review_at": "2026-11-12T09:30:00.000Z",
      "owner_user_id": 7,
      "created_by": 1,
      "created_at": "2026-11-12T09:30:00.000Z",
      "updated_by": 1,
      "updated_at": "2026-11-12T09:30:00.000Z",
      "published_at": "2026-11-12T09:30:00.000Z",
      "archived_at": "2026-11-12T09:30:00.000Z",
      "view_count": 3
    }
  ]
}

Errors

StatusMessage
404User not found
404Collection not found
403No access to this collection

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/7/articles' \
  -H "X-API-Key: $BRAMBLE_KEY"

#CREATE article in a collection (write on collection/space)

POST/v1/app/kb/collections/:collection_id/articles
Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/:collection_id/articles
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.

Path parameters

NameTypeDescription
collection_idrequiredinteger

Request body JSON

NameTypeDescription
titlerequiredstring
slugrequiredstring
statusstring
review_interval_daysinteger
owner_user_idinteger

Response 201

FieldTypeDescription
articleany
Example response
JSON
{
  "article": null
}

Errors

StatusMessage
400Missing required fields: title, slug
404User not found
404Collection not found
403No write permission in this collection
409An article with that title already exists in this collection.
409An article with that slug already exists. Try a different title.

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/7/articles' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Example title","slug":"example","status":"active","review_interval_days":1,"owner_user_id":7}'

#Collection banner

POST/v1/app/kb/collections/:collection_id/banner
Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/:collection_id/banner
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.

Path parameters

NameTypeDescription
collection_idrequiredinteger

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/7/banner' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Remove a collection's banner

DELETE/v1/app/kb/collections/:collection_id/banner
Address
https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/:collection_id/banner
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: WiKi.

Path parameters

NameTypeDescription
collection_idrequiredinteger

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/app/kb/collections/7/banner' \
  -H "X-API-Key: $BRAMBLE_KEY"