WiKi API

Bramble WiKi, the knowledge base: spaces, collections and articles with revisions, tags, comments, images and permissions. Works with an API key.

Address
https://<your-org>.brambleit.cloud/api
Sign-in
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Endpoints
59
OpenAPI
wiki.json
Guides
How Wiki works

Structure. A space holds collections, which hold articles. Permissions can be set on spaces and collections for people and groups.

Resources

Spaces

Top-level areas of the wiki.

MethodPathSummary
GET/v1/app/kb/spacesSpaces (role-based visibility) GET all spaces (role-based visibility)
GET/v1/app/kb/spaces/slug/:slugBy slug
GET/v1/app/kb/spaces/:space_idSpace (checks ACL)
POST/v1/app/kb/spacesCREATE space - Shared spaces: global admin only - Personal spaces: any tenant user, limited to one per user
PUT/v1/app/kb/spaces/:space_idUPDATE space (need manage permission)
DELETE/v1/app/kb/spaces/:space_idSpace (need manage permission)
GET/v1/app/kb/spaces/:space_id/collectionsCollections in a space (requires read on space)
POST/v1/app/kb/spaces/:space_id/collectionsCREATE collection in a space (need write/manage space)
POST/v1/app/kb/spaces/:space_id/bannerSpace banner
DELETE/v1/app/kb/spaces/:space_id/bannerRemove a space's banner

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

Articles

Articles, their revisions, comments and tags.

MethodPathSummary
GET/v1/app/kb/articles/slug/:slugBy slug
GET/v1/app/kb/articles/:article_idArticle (ACL)
PUT/v1/app/kb/articles/:article_idUPDATE article metadata (write on article/collection/space)
DELETE/v1/app/kb/articles/:article_idArticle
GET/v1/app/kb/articles/:article_id/contentContent (same read checks as article)
GET/v1/app/kb/articles/:article_id/versionsVersions (requires read)
GET/v1/app/kb/articles/:article_id/versions/:version_idVersion (read)
POST/v1/app/kb/articles/:article_id/versionsCREATE new version (write)
DELETE/v1/app/kb/articles/:article_id/versions/:version_id(write/manage)
GET/v1/app/kb/tagsTags for tenant (any authenticated user)
POST/v1/app/kb/tagsCreate tag (Global Admin)
PUT/v1/app/kb/tags/:tag_idUpdate tag (Global Admin)
DELETE/v1/app/kb/tags/:tag_id(Global Admin)
GET/v1/app/kb/articles/:article_id/tagsFor an article (requires read on article)
POST/v1/app/kb/articles/:article_id/tagsSet tags for an article (overwrite) – requires write on article
GET/v1/app/kb/articles/:article_id/commentsFor article (requires read)
POST/v1/app/kb/articles/:article_id/commentsCreate comment (requires read on article, usually fine for Reader+)
PUT/v1/app/kb/comments/:comment_idUpdate comment (Global Admin or comment owner)
DELETE/v1/app/kb/comments/:comment_id(Global Admin or owner)
GET/v1/app/kb/articles/trendingMost recently updated articles (as "trending")

Permissions

Who can read or edit spaces and collections.

MethodPathSummary
GET/v1/app/kb/permissionsList permissions
POST/v1/app/kb/permissionsCreate / update a permission entry POST /permissions body: { object_type, object_id, subject_type, subject_id, can_read, can_write, can_manage, is_denied }
DELETE/v1/app/kb/permissions/:perm_idRemove a permission
GET/v1/app/kb/subjects/usersFind people (for permission pickers)
GET/v1/app/kb/subjects/groupsFind groups (for permission pickers)

Searching the wiki and usage statistics.

MethodPathSummary
GET/v1/app/kb/meCurrent user's identity + personal space status (used by frontend)
GET/v1/app/kb/searchSearch published articles
GET/v1/app/kb/statsWiKi statistics

Images

Images used in articles, spaces and collections.

MethodPathSummary
GET/v1/app/kb/images/:idServe image by ID (no auth required so <img> tags work)
POST/v1/app/kb/imagesUpload an image (multipart/form-data, field name: "image")

Admin

WiKi administration.

MethodPathSummary
GET/v1/app/kb/admin/collectionsCollections across all spaces (admin only)
GET/v1/app/kb/admin/articlesArticles across all spaces (admin only), filterable by status
GET/v1/app/kb/admin/archivedArchived items for the tenant (global admin only)
POST/v1/app/kb/admin/spaces/:space_id/restoreRESTORE archived space
DELETE/v1/app/kb/admin/spaces/:space_id/purgePERMANENTLY delete archived space
POST/v1/app/kb/admin/collections/:collection_id/restoreRESTORE archived collection
DELETE/v1/app/kb/admin/collections/:collection_id/purgePERMANENTLY delete archived collection
POST/v1/app/kb/admin/articles/:article_id/restoreRESTORE archived article
DELETE/v1/app/kb/admin/articles/:article_id/purgePERMANENTLY delete archived article