Knowi · Capability

Knowi Management API

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.

Run with Naftiko KnowiAPI

What You Can Do

POST
Login — Obtain access token
/login
DELETE
Logout — Revoke access token
/logout
GET
Listusers — List users
/users
POST
Createuser — Create user
/users
GET
Searchuser — Search user
/users/search
GET
Getuser — Get user
/users/{userId}
PUT
Updateuser — Update user
/users/{userId}
DELETE
Deleteuser — Delete user
/users/{userId}
PUT
Moveuserassets — Move user assets
/users/{userId}/moveAssets
GET
Listshareableentities — List shareable entities
/users/shareableEntities
GET
Listgroups — List groups
/groups
POST
Creategroup — Create group
/groups
GET
Getgroup — Get group
/groups/{groupId}
PUT
Updategroup — Update group
/groups/{groupId}
DELETE
Deletegroup — Delete group
/groups/{groupId}
GET
Listusergroups — List user groups
/users/{userId}/groups
POST
Createusergroup — Create group for user
/users/{userId}/groups
DELETE
Removeusergroup — Remove group from user
/users/{userId}/groups/{groupId}
GET
Listdashboards — List dashboards
/dashboards
GET
Getdashboard — Get dashboard
/dashboards/{objectId}
GET
Getdashboardshare — Get dashboard share info
/dashboards/{objectId}/share
POST
Generateshareurl — Generate share URL
/dashboards/{objectId}/share/url
POST
Generatesecureshareurl — Generate secure share URL
/dashboards/{objectId}/share/url/secure
POST
Generatesecuresharehash — Generate secure share hash
/dashboards/{objectId}/share/url/secure/hash

MCP Tools

login

Obtain access token

logout

Revoke access token

idempotent
listusers

List users

read-only idempotent
createuser

Create user

searchuser

Search user

read-only idempotent
getuser

Get user

read-only idempotent
updateuser

Update user

idempotent
deleteuser

Delete user

idempotent
moveuserassets

Move user assets

idempotent
listshareableentities

List shareable entities

read-only idempotent
listgroups

List groups

read-only idempotent
creategroup

Create group

getgroup

Get group

read-only idempotent
updategroup

Update group

idempotent
deletegroup

Delete group

idempotent
listusergroups

List user groups

read-only idempotent
createusergroup

Create group for user

removeusergroup

Remove group from user

idempotent
listdashboards

List dashboards

read-only idempotent
getdashboard

Get dashboard

read-only idempotent
getdashboardshare

Get dashboard share info

read-only idempotent
generateshareurl

Generate share URL

generatesecureshareurl

Generate secure share URL

generatesecuresharehash

Generate secure share hash

Capability Spec

knowi-capability.yaml Raw ↑
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