Wiki API

Read and write the Wiki programmatically, pages, sections, tags, links, revisions and search. This is also where runbooks now live (as Wiki pages).

Base path: /api/v1/wiki · Permission resource: wiki (actions read, write, admin). Pages are addressed by type and key (the entity reference type:key). All requests require authentication.

Pages

MethodPathPurposePermission
GET/wiki/pagesList/search pages (types, tags, q, updated_since, limit, offset)wiki:read
GET/wiki/pages/by-id/{id}Get a page by idwiki:read
GET/wiki/pages/{type}/{key}Get a page by entity refwiki:read
DELETE/wiki/pages/{type}/{key}Delete a pagewiki:admin
POST/wiki/pages/{type}/{key}/undeleteRestore a pagewiki:admin
GET/wiki/pages/{type}/{key}/sectionsList sectionswiki:read
PUT/wiki/pages/{type}/{key}/sections/{name}Create or edit a sectionwiki:write
DELETE/wiki/pages/{type}/{key}/sections/{name}Delete a sectionwiki:admin
GET/wiki/pages/{type}/{key}/historyRevision historywiki:read
GET/wiki/pages/{type}/{key}/backlinksPages linking herewiki:read
GET/POST/wiki/pages/{type}/{key}/tagsList / add tagswiki:read / wiki:write
DELETE/wiki/pages/{type}/{key}/tags/{tag}Remove a tagwiki:write

Writing knowledge (sections)

The main way to add knowledge is to write a section on a page. PUT /wiki/pages/{type}/{key}/sections/{name} creates the page if it doesn't exist, then sets that section's content. Body:

FieldTypeNotes
bodystringMarkdown, 0-65536 chars. Reference entities with [[type:key]]
summarystringoptional commit message (why this change)
tagsstring[]optional tags
parent_revision_iduuidoptional, for optimistic concurrency
curl -s -X PUT "http://localhost:8000/api/v1/wiki/pages/ip/1.2.3.4/sections/Summary" \
  -H "Authorization: Bearer $CLOUDPEEK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "body": "Known benign scanner. Seen in [[incident:204]].", "summary": "Document this IP" }'
Note

For analytic_rule pages, the section body must be valid Sigma YAML (containing title, logsource and detection), or the request is rejected with 422.

MethodPathPurpose
GET/wiki/revisions/{id}A specific revision
GET/wiki/revisions/{id}/diffDiff against the previous revision
POST/wiki/revisions/{id}/revertRevert to a revision (wiki:write)
POST / DELETE/wiki/links , /wiki/links/{id}Manage entity links (wiki:write)
GET/wiki/search?q=Full-text search
GET/wiki/recentRecent revisions feed
GET/wiki/graphThe entity graph
GET/wiki/tagsTag cloud
GET/wiki/entities/resolveResolve entity references
GET/wiki/events/subscribeLive updates (Server-Sent Events)

Entity types

MethodPathPurpose
GET / POST/wiki/entity-typesList / create entity types (wiki:read / wiki:admin)
PATCH / DELETE/wiki/entity-types/{name}Update / delete a type (wiki:admin)

Asking questions about a page

There is no "ask" endpoint under /wiki. To ask CloudPeek a question about a Wiki entity, call the AI Responses API with wiki_entity: "<type>:<key>". That's what the "Ask CloudPeek" panel does.

© 2026 CloudPeek. Agentic AI for high-consequence security operations.