openkm-restOpenKM Document Management via REST API (folders, documents, metadata, versioning, search, workflows)
Install via ClawdBot CLI:
clawdbot install pes0/openkm-restThis skill provides a local CLI that accesses OpenKM exclusively via REST
(no SOAP, no CMIS).
The agent uses shell calls to openkm_cli.py.
OPENKM_BASE_URL=https://openkm.example.com # WITHOUT /OpenKM
OPENKM_USERNAME=okm_admin
OPENKM_PASSWORD=secret
python3 openkm_cli.py list --folder-path /okm:root
Creates parent folders if they don't exist:
python3 openkm_cli.py ensure-structure --parts Folder1 Subfolder
python3 openkm_cli.py upload --okm-path /okm:root/Folder/file.pdf --local-path /path/file.pdf
python3 openkm_cli.py download --doc-id <uuid> --local-path /path/file.pdf
Move a document to another folder (using folder UUID as target):
python3 openkm_cli.py move --doc-id <doc-uuid> --target-path <folder-uuid>
python3 openkm_cli.py rename --doc-id <uuid> --new-name new_filename.pdf
python3 openkm_cli.py delete --doc-id <uuid>
Shows title, description, keywords, categories, and other metadata:
python3 openkm_cli.py properties --doc-id <uuid>
python3 openkm_cli.py set-properties --doc-id <uuid> --title "My Title" --description "My description"
python3 openkm_cli.py add-keyword --doc-id <uuid> --keyword "Invoice"
python3 openkm_cli.py remove-keyword --doc-id <uuid> --keyword "Invoice"
Category ID can be a UUID or path (e.g., /okm:categories/Finance):
python3 openkm_cli.py add-category --doc-id <uuid> --category-id <category-uuid-or-path>
python3 openkm_cli.py remove-category --doc-id <uuid> --category-id <category-uuid-or-path>
python3 openkm_cli.py versions --doc-id <uuid>
python3 openkm_cli.py download-version --doc-id <uuid> --version 1.0 --local-path /path/file_v1.pdf
Restores document to a previous version:
python3 openkm_cli.py restore-version --doc-id <uuid> --version 1.0
python3 openkm_cli.py search-content --content "invoice hosting"
python3 openkm_cli.py search-name --name "hetzner"
python3 openkm_cli.py search-keywords --keywords "Invoice,Hosting"
python3 openkm_cli.py search --content "server" --author "john.doe" --path "/okm:root"
Note: Workflow features require workflows to be configured in OpenKM.
If workflows are not enabled, these commands will return 404.
python3 openkm_cli.py workflows
python3 openkm_cli.py workflows --name "approval"
python3 openkm_cli.py start-workflow --workflow-uuid <workflow-uuid> --doc-id <doc-uuid>
# Tasks for a document
python3 openkm_cli.py tasks --doc-id <uuid>
# Tasks for an actor
python3 openkm_cli.py tasks --actor-id john.doe
python3 openkm_cli.py complete-task --task-id <task-id> --transition "approve"
python3 openkm_cli.py comment-task --task-id <task-id> --message "Review complete"
python3 openkm_cli.py assign-task --task-id <task-id> --actor-id john.doe
Content-Type: application/xml for POST requests with path as bodyfldId, docId, dstId, nodeId, catId parameters accept either UUIDs or paths (e.g., /okm:root/Folder)target-path should be the UUID of the destination folder1.0, 1.1, 2.0, etc.The skill uses the OpenKM 6.3 REST API endpoints:
Folders:
GET /folder/getChildren - List folder contentsPOST /folder/createSimple - Create folderDocuments:
POST /document/createSimple - Upload documentGET /document/getContent - Download documentGET /document/getProperties - Get document metadataPUT /document/setProperties - Update title/descriptionPUT /document/move - Move documentPUT /document/rename - Rename documentDELETE /document/delete - Delete documentVersioning:
GET /document/getVersionHistory - Get version historyPUT /document/restoreVersion - Restore to versionGET /document/getContentByVersion - Download specific versionProperties/Metadata:
POST /property/addKeyword - Add keywordDELETE /property/removeKeyword - Remove keywordPOST /property/addCategory - Add categoryDELETE /property/removeCategory - Remove categorySearch:
GET /search/find - General search with filtersGET /search/findByContent - Full-text searchGET /search/findByName - Filename searchGET /search/findByKeywords - Keyword searchWorkflows:
GET /workflow/getAllProcessDefinitions - List workflowsGET /workflow/getAllProcessDefinitionsByName - Find workflow by namePOST /workflow/runProcessDefinition - Start workflowGET /workflow/findTaskInstances - Get tasks by documentGET /workflow/findTaskInstancesByActor - Get tasks by actorPOST /workflow/setTaskInstanceValues - Complete taskPOST /workflow/addTaskInstanceComment - Add commentPOST /workflow/setTaskInstanceActor - Assign taskGenerated Mar 1, 2026
Law firms can use this skill to manage case files, contracts, and legal documents with version control and metadata tagging. It enables secure upload, search by content or keywords for quick retrieval, and workflow features for document review and approval processes, ensuring compliance and organized access.
Architecture firms can organize blueprints, CAD files, and project documents in structured folders with versioning to track design changes. The skill allows uploading, renaming, and moving files, while search capabilities help locate specific plans or revisions, streamlining collaboration among team members.
Healthcare providers can manage patient records, lab reports, and medical images by uploading documents with metadata like keywords and categories for easy categorization. Versioning ensures accurate record-keeping, and workflows can automate tasks such as review or approval, enhancing data security and accessibility.
Universities and schools can create a centralized repository for course materials, syllabi, and research papers. The skill enables folder structuring for different departments, document upload and download for students, and search by content to find relevant resources, supporting remote learning and academic collaboration.
Manufacturing companies can manage quality control reports, inspection logs, and compliance documents with this skill. It allows uploading and versioning to track changes over time, adding keywords for categorization, and using workflows to automate approval processes, ensuring regulatory adherence and efficient audits.
Offer a SaaS platform where businesses pay a monthly fee to access the OpenKM skill for document management. Revenue comes from tiered subscriptions based on storage limits, user seats, and advanced features like workflow automation, targeting small to medium enterprises needing organized digital archives.
Provide consulting services to help organizations integrate this skill into their existing systems, such as CRM or ERP software. Revenue is generated from one-time setup fees, custom configuration, and ongoing support contracts, focusing on industries like legal or healthcare with specific compliance needs.
License the skill to IT resellers or software vendors who rebrand it as part of their own document management offerings. Revenue comes from licensing fees per user or transaction, enabling partners to expand their product portfolios without developing from scratch, targeting tech companies and system integrators.
💬 Integration Tip
Ensure environment variables are correctly set and test API connectivity before deployment; use the CLI examples for common operations to streamline integration with existing workflows.
Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
Create, search, and manage Bear notes via grizzly CLI.
Track water and sleep with JSON file storage
Notion API for creating and managing pages, databases, and blocks.
Smart ClawdBot documentation access with local search index, cached snippets, and on-demand fetch. Token-efficient and freshness-aware.
Work with Obsidian vaults as a knowledge base. Features: fuzzy/phonetic search across all notes, auto-folder detection for new notes, create/read/edit notes with frontmatter, manage tags and wikilinks. Use when: querying knowledge base, saving notes/documents, editing existing notes by user instructions.