naftiko: 1.0.0-alpha2 info: label: Knowi Management API description: The Knowi Management API enables programmatic administration of a Knowi workspace including users, groups, and dashboards. It uses OAuth 2.0 bearer tokens for authentication and supports automation of provisioning, permission management, and embedded analytics workflows. tags: - Knowi - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: knowi baseUri: https://knowi.com/api/1.0 description: Knowi Management API HTTP API. authentication: type: bearer token: '{{KNOWI_TOKEN}}' resources: - name: login path: /login operations: - name: login method: POST description: Obtain access token outputRawFormat: json outputParameters: - name: result type: object value: $. - name: logout path: /logout operations: - name: logout method: DELETE description: Revoke access token outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users path: /users operations: - name: listusers method: GET description: List users outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createuser method: POST description: Create user outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-search path: /users/search operations: - name: searchuser method: GET description: Search user inputParameters: - name: username in: query type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-userid path: /users/{userId} operations: - name: getuser method: GET description: Get user outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateuser method: PUT description: Update user outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteuser method: DELETE description: Delete user outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-userid-moveassets path: /users/{userId}/moveAssets operations: - name: moveuserassets method: PUT description: Move user assets inputParameters: - name: userId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-shareableentities path: /users/shareableEntities operations: - name: listshareableentities method: GET description: List shareable entities outputRawFormat: json outputParameters: - name: result type: object value: $. - name: groups path: /groups operations: - name: listgroups method: GET description: List groups outputRawFormat: json outputParameters: - name: result type: object value: $. - name: creategroup method: POST description: Create group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: groups-groupid path: /groups/{groupId} operations: - name: getgroup method: GET description: Get group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updategroup method: PUT description: Update group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletegroup method: DELETE description: Delete group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-userid-groups path: /users/{userId}/groups operations: - name: listusergroups method: GET description: List user groups outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createusergroup method: POST description: Create group for user outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-userid-groups-groupid path: /users/{userId}/groups/{groupId} operations: - name: removeusergroup method: DELETE description: Remove group from user inputParameters: - name: userId in: path type: string required: true - name: groupId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dashboards path: /dashboards operations: - name: listdashboards method: GET description: List dashboards outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dashboards-objectid path: /dashboards/{objectId} operations: - name: getdashboard method: GET description: Get dashboard inputParameters: - name: objectId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dashboards-objectid-share path: /dashboards/{objectId}/share operations: - name: getdashboardshare method: GET description: Get dashboard share info inputParameters: - name: objectId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dashboards-objectid-share-url path: /dashboards/{objectId}/share/url operations: - name: generateshareurl method: POST description: Generate share URL inputParameters: - name: objectId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dashboards-objectid-share-url-secure path: /dashboards/{objectId}/share/url/secure operations: - name: generatesecureshareurl method: POST description: Generate secure share URL inputParameters: - name: objectId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dashboards-objectid-share-url-secure-hash path: /dashboards/{objectId}/share/url/secure/hash operations: - name: generatesecuresharehash method: POST description: Generate secure share hash inputParameters: - name: objectId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: knowi-rest description: REST adapter for Knowi Management API. resources: - path: /login name: login operations: - method: POST name: login description: Obtain access token call: knowi.login outputParameters: - type: object mapping: $. - path: /logout name: logout operations: - method: DELETE name: logout description: Revoke access token call: knowi.logout outputParameters: - type: object mapping: $. - path: /users name: listusers operations: - method: GET name: listusers description: List users call: knowi.listusers outputParameters: - type: object mapping: $. - path: /users name: createuser operations: - method: POST name: createuser description: Create user call: knowi.createuser outputParameters: - type: object mapping: $. - path: /users/search name: searchuser operations: - method: GET name: searchuser description: Search user call: knowi.searchuser outputParameters: - type: object mapping: $. - path: /users/{userId} name: getuser operations: - method: GET name: getuser description: Get user call: knowi.getuser outputParameters: - type: object mapping: $. - path: /users/{userId} name: updateuser operations: - method: PUT name: updateuser description: Update user call: knowi.updateuser outputParameters: - type: object mapping: $. - path: /users/{userId} name: deleteuser operations: - method: DELETE name: deleteuser description: Delete user call: knowi.deleteuser outputParameters: - type: object mapping: $. - path: /users/{userId}/moveAssets name: moveuserassets operations: - method: PUT name: moveuserassets description: Move user assets call: knowi.moveuserassets with: userId: rest.userId outputParameters: - type: object mapping: $. - path: /users/shareableEntities name: listshareableentities operations: - method: GET name: listshareableentities description: List shareable entities call: knowi.listshareableentities outputParameters: - type: object mapping: $. - path: /groups name: listgroups operations: - method: GET name: listgroups description: List groups call: knowi.listgroups outputParameters: - type: object mapping: $. - path: /groups name: creategroup operations: - method: POST name: creategroup description: Create group call: knowi.creategroup outputParameters: - type: object mapping: $. - path: /groups/{groupId} name: getgroup operations: - method: GET name: getgroup description: Get group call: knowi.getgroup outputParameters: - type: object mapping: $. - path: /groups/{groupId} name: updategroup operations: - method: PUT name: updategroup description: Update group call: knowi.updategroup outputParameters: - type: object mapping: $. - path: /groups/{groupId} name: deletegroup operations: - method: DELETE name: deletegroup description: Delete group call: knowi.deletegroup outputParameters: - type: object mapping: $. - path: /users/{userId}/groups name: listusergroups operations: - method: GET name: listusergroups description: List user groups call: knowi.listusergroups outputParameters: - type: object mapping: $. - path: /users/{userId}/groups name: createusergroup operations: - method: POST name: createusergroup description: Create group for user call: knowi.createusergroup outputParameters: - type: object mapping: $. - path: /users/{userId}/groups/{groupId} name: removeusergroup operations: - method: DELETE name: removeusergroup description: Remove group from user call: knowi.removeusergroup with: userId: rest.userId groupId: rest.groupId outputParameters: - type: object mapping: $. - path: /dashboards name: listdashboards operations: - method: GET name: listdashboards description: List dashboards call: knowi.listdashboards outputParameters: - type: object mapping: $. - path: /dashboards/{objectId} name: getdashboard operations: - method: GET name: getdashboard description: Get dashboard call: knowi.getdashboard with: objectId: rest.objectId outputParameters: - type: object mapping: $. - path: /dashboards/{objectId}/share name: getdashboardshare operations: - method: GET name: getdashboardshare description: Get dashboard share info call: knowi.getdashboardshare with: objectId: rest.objectId outputParameters: - type: object mapping: $. - path: /dashboards/{objectId}/share/url name: generateshareurl operations: - method: POST name: generateshareurl description: Generate share URL call: knowi.generateshareurl with: objectId: rest.objectId outputParameters: - type: object mapping: $. - path: /dashboards/{objectId}/share/url/secure name: generatesecureshareurl operations: - method: POST name: generatesecureshareurl description: Generate secure share URL call: knowi.generatesecureshareurl with: objectId: rest.objectId outputParameters: - type: object mapping: $. - path: /dashboards/{objectId}/share/url/secure/hash name: generatesecuresharehash operations: - method: POST name: generatesecuresharehash description: Generate secure share hash call: knowi.generatesecuresharehash with: objectId: rest.objectId outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: knowi-mcp transport: http description: MCP adapter for Knowi Management API for AI agent use. tools: - name: login description: Obtain access token hints: readOnly: false destructive: false idempotent: false call: knowi.login outputParameters: - type: object mapping: $. - name: logout description: Revoke access token hints: readOnly: false destructive: true idempotent: true call: knowi.logout outputParameters: - type: object mapping: $. - name: listusers description: List users hints: readOnly: true destructive: false idempotent: true call: knowi.listusers outputParameters: - type: object mapping: $. - name: createuser description: Create user hints: readOnly: false destructive: false idempotent: false call: knowi.createuser outputParameters: - type: object mapping: $. - name: searchuser description: Search user hints: readOnly: true destructive: false idempotent: true call: knowi.searchuser with: username: tools.username inputParameters: - name: username type: string description: username required: true outputParameters: - type: object mapping: $. - name: getuser description: Get user hints: readOnly: true destructive: false idempotent: true call: knowi.getuser outputParameters: - type: object mapping: $. - name: updateuser description: Update user hints: readOnly: false destructive: false idempotent: true call: knowi.updateuser outputParameters: - type: object mapping: $. - name: deleteuser description: Delete user hints: readOnly: false destructive: true idempotent: true call: knowi.deleteuser outputParameters: - type: object mapping: $. - name: moveuserassets description: Move user assets hints: readOnly: false destructive: false idempotent: true call: knowi.moveuserassets with: userId: tools.userId inputParameters: - name: userId type: string description: userId required: true outputParameters: - type: object mapping: $. - name: listshareableentities description: List shareable entities hints: readOnly: true destructive: false idempotent: true call: knowi.listshareableentities outputParameters: - type: object mapping: $. - name: listgroups description: List groups hints: readOnly: true destructive: false idempotent: true call: knowi.listgroups outputParameters: - type: object mapping: $. - name: creategroup description: Create group hints: readOnly: false destructive: false idempotent: false call: knowi.creategroup outputParameters: - type: object mapping: $. - name: getgroup description: Get group hints: readOnly: true destructive: false idempotent: true call: knowi.getgroup outputParameters: - type: object mapping: $. - name: updategroup description: Update group hints: readOnly: false destructive: false idempotent: true call: knowi.updategroup outputParameters: - type: object mapping: $. - name: deletegroup description: Delete group hints: readOnly: false destructive: true idempotent: true call: knowi.deletegroup outputParameters: - type: object mapping: $. - name: listusergroups description: List user groups hints: readOnly: true destructive: false idempotent: true call: knowi.listusergroups outputParameters: - type: object mapping: $. - name: createusergroup description: Create group for user hints: readOnly: false destructive: false idempotent: false call: knowi.createusergroup outputParameters: - type: object mapping: $. - name: removeusergroup description: Remove group from user hints: readOnly: false destructive: true idempotent: true call: knowi.removeusergroup with: userId: tools.userId groupId: tools.groupId inputParameters: - name: userId type: string description: userId required: true - name: groupId type: string description: groupId required: true outputParameters: - type: object mapping: $. - name: listdashboards description: List dashboards hints: readOnly: true destructive: false idempotent: true call: knowi.listdashboards outputParameters: - type: object mapping: $. - name: getdashboard description: Get dashboard hints: readOnly: true destructive: false idempotent: true call: knowi.getdashboard with: objectId: tools.objectId inputParameters: - name: objectId type: string description: objectId required: true outputParameters: - type: object mapping: $. - name: getdashboardshare description: Get dashboard share info hints: readOnly: true destructive: false idempotent: true call: knowi.getdashboardshare with: objectId: tools.objectId inputParameters: - name: objectId type: string description: objectId required: true outputParameters: - type: object mapping: $. - name: generateshareurl description: Generate share URL hints: readOnly: false destructive: false idempotent: false call: knowi.generateshareurl with: objectId: tools.objectId inputParameters: - name: objectId type: string description: objectId required: true outputParameters: - type: object mapping: $. - name: generatesecureshareurl description: Generate secure share URL hints: readOnly: false destructive: false idempotent: false call: knowi.generatesecureshareurl with: objectId: tools.objectId inputParameters: - name: objectId type: string description: objectId required: true outputParameters: - type: object mapping: $. - name: generatesecuresharehash description: Generate secure share hash hints: readOnly: false destructive: false idempotent: false call: knowi.generatesecuresharehash with: objectId: tools.objectId inputParameters: - name: objectId type: string description: objectId required: true outputParameters: - type: object mapping: $. binds: - namespace: env keys: KNOWI_TOKEN: KNOWI_TOKEN