Knowi Group Management API

Manage user group

Operations 8

GET /api/2.0/groups List accessible groups #
POST /api/2.0/groups Create new group #
GET /api/2.0/groups/{objectId} Retrieve a group with specific ID #
PUT /api/2.0/groups/{objectId} Update existing group with input information. #
DELETE /api/2.0/groups/{objectId} Delete existing group with given ID #
GET /api/2.0/groups/{objectId}/assets Retrieve list of assets shared to a group with specific ID #
GET /api/2.0/groups/{objectId}/autoShares Retrieve list of users with assets automatically shared to a group with… #
GET /api/2.0/groups/{objectId}/users Retrieve list of users in a group with specific group ID #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/knowi:knowi-group-management-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

knowi-group-management-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: User Management Group Management API
  description: Manage users
  version: '2.0'
tags:
- name: Group Management API
  description: Manage user group
paths:
  /api/2.0/groups:
    get:
      tags:
      - Group Management API
      summary: List accessible groups
      operationId: listGroups
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserGroup'
        '401':
          description: User is not authenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '403':
          description: User is not allowed to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '500':
          description: Error during processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
      security:
      - Authorization: []
    post:
      tags:
      - Group Management API
      summary: Create new group
      operationId: createGroup
      requestBody:
        description: Group information to be created
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserGroup'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserGroup'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '401':
          description: User is not authenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '403':
          description: User is not allowed to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '500':
          description: Error during processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
      security:
      - Authorization: []
  /api/2.0/groups/{objectId}:
    get:
      tags:
      - Group Management API
      summary: Retrieve a group with specific ID
      operationId: viewGroup
      parameters:
      - name: objectId
        in: path
        description: Group ID to be retrieved
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserGroup'
        '401':
          description: User is not authenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '403':
          description: User is not allowed to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '500':
          description: Error during processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
      security:
      - Authorization: []
    put:
      tags:
      - Group Management API
      summary: Update existing group with input information.
      operationId: editGroup
      parameters:
      - name: objectId
        in: path
        description: Group ID to be updated
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Group information to be updated
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserGroup'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserGroup'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '401':
          description: User is not authenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '403':
          description: User is not allowed to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '500':
          description: Error during processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
      security:
      - Authorization: []
    delete:
      tags:
      - Group Management API
      summary: Delete existing group with given ID
      operationId: deleteGroup
      parameters:
      - name: objectId
        in: path
        description: Group ID to be deleted
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '401':
          description: User is not authenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '403':
          description: User is not allowed to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '500':
          description: Error during processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
      security:
      - Authorization: []
  /api/2.0/groups/{objectId}/assets:
    get:
      tags:
      - Group Management API
      summary: Retrieve list of assets shared to a group with specific ID
      operationId: listGroupAssets
      parameters:
      - name: objectId
        in: path
        description: Group ID to retrieve list of shared assets
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GroupAsset'
        '401':
          description: User is not authenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '403':
          description: User is not allowed to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '500':
          description: Error during processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
      security:
      - Authorization: []
  /api/2.0/groups/{objectId}/autoShares:
    get:
      tags:
      - Group Management API
      summary: Retrieve list of users with assets automatically shared to a group with…
      operationId: listGroupAutoShares
      parameters:
      - name: objectId
        in: path
        description: Group ID to retrieve list of users
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
        '401':
          description: User is not authenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '403':
          description: User is not allowed to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '500':
          description: Error during processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
      security:
      - Authorization: []
  /api/2.0/groups/{objectId}/users:
    get:
      tags:
      - Group Management API
      summary: Retrieve list of users in a group with specific group ID
      operationId: listGroupUsers
      parameters:
      - name: objectId
        in: path
        description: Group ID to retrieve list of users
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
        '401':
          description: User is not authenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '403':
          description: User is not allowed to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
        '500':
          description: Error during processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMessage'
      security:
      - Authorization: []
components:
  schemas:
    Dashboard:
      type: object
      properties:
        createdDate:
          type: string
          format: date-time
        lastModDate:
          type: integer
          description: Last modified date
          format: int64
          readOnly: true
        id:
          type: integer
          format: int64
        oid:
          type: integer
          format: int64
        name:
          type: string
        userId:
          type: integer
          format: int64
        url:
          type: string
        secureUrl:
          type: string
        urlShareWhitelistDomain:
          type: string
        displayOrder:
          type: integer
          format: int32
        screenAdjust:
          type: boolean
        screenWidth:
          type: integer
          format: int32
        screenHeight:
          type: integer
          format: int32
        lastModDt:
          type: string
          format: date-time
        lastAccessDt:
          type: string
          format: date-time
        locked:
          type: boolean
        accessLevel:
          type: integer
          format: int32
        categoryAccessLevel:
          type: integer
          format: int32
        autoShared:
          type: boolean
        filterSettings:
          type: string
        favorite:
          type: boolean
        urlSharePassword:
          type: string
        incognitoId:
          type: integer
          format: int64
        type:
          type: integer
          format: int32
        username:
          type: string
        defaultFilterSets:
          type: array
          items:
            $ref: '#/components/schemas/FilterSet'
        categories:
          type: array
          items:
            type: integer
            format: int64
        notDefaultFilter:
          type: boolean
        properties:
          $ref: '#/components/schemas/DashboardProps'
        my:
          type: boolean
        orderedPositions:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/ChartPosition'
        showWidgetList:
          type: boolean
        dashboardGroupingOriginId:
          type: object
        dashNameAsValidFilename:
          type: string
        dashboardGroupingViewOnly:
          type: boolean
        propertiesInternally:
          $ref: '#/components/schemas/DashboardProps'
    DashboardProps:
      type: object
      properties:
        createdDate:
          type: integer
          description: Created date in milliseconds
          format: int64
          readOnly: true
        lastModDate:
          type: integer
          description: Last modified date
          format: int64
          readOnly: true
        theme:
          type: string
        description:
          type: string
        header:
          type: string
        footer:
          type: string
        customCssJs:
          type: string
        excludeGridWidgetsFromPdfExport:
          type: boolean
        excludeExpandedGridFromPdfExport:
          type: boolean
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
        pdfViewportWidth:
          type: integer
          format: int32
        pdfViewportHeight:
          type: integer
          format: int32
        pdfExportSettings:
          type: object
          additionalProperties:
            type: object
        defaultFilters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
        filterSets:
          type: array
          items:
            $ref: '#/components/schemas/FilterSet'
        defaultFilterSets:
          type: array
          items:
            $ref: '#/components/schemas/FilterSet'
        view:
          type: object
          additionalProperties:
            type: object
        dashboardGroupingList:
          type: array
          items:
            type: integer
            format: int64
        dashboardGroupingMap:
          type: array
          items:
            type: array
            items:
              type: object
    Filter:
      required:
      - fieldName
      - fieldNames
      type: object
      properties:
        fieldName:
          type: string
          description: Filter field name. Either fieldName or fieldNames has to be not empty
        fieldNames:
          type: array
          description: Filter field names in case of tree filter. Either fieldName or fieldNames has to be not empty
          items:
            type: string
            description: Filter field names in case of tree filter. Either fieldName or fieldNames has to be not empty
        values:
          type: array
          description: Filter values
          items:
            type: object
            description: Filter values
        operator:
          type: string
          description: Filter operator
          example: =,!=,>,>=,<,<=,Equals,Not Equals,Greater than,Greater than or equals,Less than,Less than or equals,is null,is not null,Range,Contains,Does Not Contain
        locked:
          type: boolean
          description: 'Whether or not filter is locked (ie: not modifiable)'
        requireValue:
          type: boolean
          description: Whether or not filter requires value to be set
        enabled:
          type: boolean
          description: Whether or not filter is enabled (default is true)
        controlType:
          type: string
          description: Filter control type
          example: single,picker,slider,range_time_slider
        visible:
          type: boolean
          description: Whether or not filter is visible (default is true)
        hitList:
          type: integer
          description: Suggestion values dataset ID
          format: int64
        hitListLabel:
          type: string
          description: Suggestion label field name of the hit list dataset
        hitListValue:
          type: string
          description: Suggestion value field name of the hit list dataset
        filteringResult:
          type: boolean
          description: Whether the filter should be applied before (false) or after (true) the widget data has been processed
        label:
          type: string
          description: Display label for the filter
        or:
          type: boolean
          description: Whether this filter is OR'd with the previous filter (for SQL parsing)
        description:
          type: string
          description: Filter description
        dateLimit:
          type: string
          description: Filter date limit
        dateLimitOptions:
          type: string
          description: Filter date limit options (restriction and from token)
        displayValues:
          type: array
          description: Custom display values
          items:
            type: object
            description: Custom display values
        plainControlType:
          type: string
          description: Control type for plain text field type
          example: single,multiple,tree,custom
        dynamic:
          type: boolean
          description: Whether or not filter's value is automatically selected
        inclusiveTime:
          type: boolean
          description: 'Whether time range filter is inclusive (includes exact start/end times, where start time is for Start Date and end time for End Date. UI tooltip: When checked, creates a single continuous time period from Start Date/Time to End Date/Time. When unchecked, applies the time range to each day separately (e.g., 9:00-17:00 every day within the date range).)'
        groupHeading:
          type: boolean
          description: Whether this entry is a display-only group heading (fieldName contains the heading text)
        divider:
          type: boolean
          description: Whether this entry is a display-only divider between filter groups
      description: Filter information
    GroupAsset:
      type: object
      properties:
        name:
          type: string
          description: Asset name
          readOnly: true
        accessLevel:
          type: integer
          description: Asset access level
          format: int32
          readOnly: true
        objectId:
          type: integer
          description: Asset ID
          format: int64
          readOnly: true
        objectType:
          type: integer
          description: Asset type
          format: int32
          readOnly: true
      description: Shared asset information
    UserGroup:
      required:
      - groupName
      type: object
      properties:
        createdDate:
          type: integer
          description: Created date in milliseconds
          format: int64
          readOnly: true
        lastModDate:
          type: integer
          description: Last modified date
          format: int64
          readOnly: true
        id:
          type: integer
          description: Group ID
          format: int64
          readOnly: true
        groupName:
          type: string
          description: Group name
        userName:
          type: string
          description: Group owner's username
          readOnly: true
        userId:
          type: integer
          description: Group owner's user ID
          format: int64
          readOnly: true
        limitSharing:
          type: boolean
          description: If true, this user can only share assets with members of this group
        accessLevel:
          type: integer
          description: User's access level for this group (0=Admin, 1=Edit, 2=View)
          format: int32
        contentFilters:
          type: array
          description: Group content filters
          items:
            $ref: '#/components/schemas/Filter'
      description: User group information
      readOnly: true
    User:
      type: object
      properties:
        createdDate:
          type: integer
          description: Created date in milliseconds
          format: int64
          readOnly: true
        lastModDate:
          type: integer
          description: Last modified date
          format: int64
          readOnly: true
        id:
          type: integer
          description: User ID
          format: int64
          readOnly: true
        username:
          type: string
          description: User username
        name:
          type: string
          description: User name
        ssoUser:
          type: boolean
          description: Is SSO user
        customerId:
          type: integer
          description: User customer ID
          format: int64
          readOnly: true
        autocycle:
          type: boolean
          description: Is user eligible for auto-cycle
          readOnly: true
        timeZone:
          type: string
          description: User timezone
        lastLoginDate:
          type: string
          description: User last login date time
          format: date-time
          readOnly: true
        managementClientId:
          type: string
          description: Management API client ID
          readOnly: true
        managementClientSecret:
          type: string
          description: Management API client secret
          readOnly: true
        externalAuthType:
          type: integer
          description: External authentication type
          format: int32
          readOnly: true
        userGroups:
          uniqueItems: true
          type: array
          description: Groups
          readOnly: true
          items:
            $ref: '#/components/schemas/UserGroup'
        userProperties:
          $ref: '#/components/schemas/UserProperties'
        roles:
          uniqueItems: true
          type: array
          description: User roles
          items:
            type: string
            description: User roles
        permissions:
          uniqueItems: true
          type: array
          description: User permissions
          readOnly: true
          items:
            type: string
            description: User permissions
            readOnly: true
        jsonConfig:
          type: string
          description: Role JSON config (viz settings, etc.)
          readOnly: true
        twoFactorBySms:
          type: boolean
          description: Is two factor login by SMS enabled
        phone:
          type: string
          description: User phone number
        twoFactorByEmail:
          type: boolean
          description: Is two factor login by EMAIL enabled
        email:
          type: string
          description: User email
        selectedDashInternal:
          $ref: '#/components/schemas/Dashboard'
      description: User information
    ApiMessage:
      type: object
      properties:
        message:
          type: string
          description: Message
          readOnly: true
        documentation:
          type: string
          description: Link to documentation
          readOnly: true
      description: Response status
    FilterSet:
      type: object
      properties:
        createdDate:
          type: integer
          description: Created date in milliseconds
          format: int64
          readOnly: true
        lastModDate:
          type: integer
          description: Last modified date
          format: int64
          readOnly: true
        id:
          type: integer
          format: int64
        userId:
          type: integer
          format: int64
        name:
          type: string
        accessLevel:
          type: integer
          format: int32
        userSpecific:
          type: boolean
        enabled:
          type: boolean
        color:
          type: string
        defaultFilters:
          type: boolean
        locked:
          type: boolean
        visible:
          type: boolean
        syncFilters:
          type: boolean
        expanded:
          type: boolean
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
        transientFilter:
          type: boolean
    UserProperties:
      type: object
      properties:
        adminUserLimit:
          type: integer
          format: int32
        dashboardSharing:
          type: boolean
        elasticStoreLimit:
          type: integer
          format: int32
        machineLearningAccess:
          type: boolean
        managementAPI:
          type: boolean
        urlSharePasswordProtect:
          type: boolean
        customerSsoGenerateUI:
          type: boolean
        customerJwtUI:
          type: boolean
        ssoUserLimit:
          type: integer
          format: int32
        triggerNotificationAccess:
          type: boolean
        insightEnabled:
          type: boolean
        insightIconDefaultEnabled:
          type: boolean
        searchBarMode:
          type: string
        nlpEnabled:
          type: boolean
        botNlpEnabled:
          type: boolean
        unstructuredDataNlpEnabled:
          type: boolean
        allowCustomerUseNlp:
          type: boolean
        allowCustomerUseBotNlp:
          type: boolean
        nlpIndexByDefault:
          type: boolean
        ldap:
          type: boolean
        saml:
          type: boolean
        userLimit:
          type: integer
          format: int32
        widgetCountLimit:
          type: integer
          format: int32
        viewerUserLimit:
          type: integer
          format: int32
        nlpVisualizationFirstEnabled:
          type: boolean
        appsEnabled:
          type: boolean
        supportAccessConsent:
          type: boolean
        phiCustomer:
          type: boolean
        appsLimit:
          type: integer
          format: int32
        forceTwoFactorAuthEnabled:
          type: string
        forceTwoFactorAuthSuper:
          type: boolean
        newDashNavEnabled:
          type: boolean
        font:
          type: string
        selectedDashboardId:
          type: integer
          format: int64
        defaultDashboardId:
          type: integer
          format: int64
        sendTimezoneWithQuery:
          type: boolean
        directPush:
          type: boolean
        writeBack:
          type: boolean
        userContentFilters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
        customerContentFilters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
        groupContentFilters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
        sharedContentFilters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
        contentFilters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
        schemaSample:
          type: integer
          format: int32
        schemaNestedSample:
          type: integer
          format: int32
        maxChunkSize:
          type: integer
          format: int32
        maxChunkCount:
          type: integer
          format: int32
        maxQueryTime:
          type: integer
          format: int32
        locale:
          type: string
        defaultTimeZone:
          type: string
        customUserColors:
          type: string
        customFieldColors:
          type: string
        customerLogo:
          type: string
        customerThemes:
          type: string
        activeThemeId:
          type: string
        dateFormat:
          type: string
        defaultDateFormat:
          type: string
        customMailServer:
          type: string
        defaultCategoryPermission:
          type: integer
          format: int32
        subAccountAccess:
          type: boolean
        systemAdmin:
          type: boolean
        logoutUrl:
          type: string
        supportEmail:
          type: string
        operationalAlertsEnabled:
          type: string
        operationalAlertsRecipients:
          type: string
        operationalAlertsLastDigest:
          type: string
        operationalAlertsLastRun:
          type: string
        pdfEngine:
          type: string
        tunnelPrivateKey:
          type: string
        tunnelPublicKey:
          type: string
        tunnelKeyPassphrase:
          type: string
        limitListingUsersToGroups:
          type: boolean
        aiAssistantEnabled:
          type: boolean
        aiAgentsEnabled:
          type: boolean
        aiAgentsUiToggle:
          type: boolean
        agenticBIUseDocs:
          type: string
        agenticBIUseDatasets:
          type: string
        agenticBIUseWidgets:
          type: string
        agenticBIUseDashboards:
          type: string
        agenticBIUseReports:
          type: string
        agenticBIUseAlerts:
          type: string
        agenticBIModel:
          type: string
        agenticBISelectedDatasets:
          type: string
        agenticBISelectedDocs:
          type: string
        onboardingChecklistState:
          type: string
        aiProviderSettings:
          type: object
          additionalProperties:
            type: string
        jwtAlgorithm:
          type: string
        customSupportEmail:
          type: string
        totalUserLimit:
          type: integer
          format: int32
        oem:
          type: boolean
        hasOpenAIKey:
          type: boolean
        hasAnthropicKey:
          type: boolean
        hasGeminiKey:
          type: boolean
        hasAzureAIKey:
          type: boolean
      description: User properties
      readOnly: true
    ChartPosition:
      type: object
      properties:
        chartId:
          type: integer
          format: int64
        width:
          type: integer
          format: int32
        height:
          type: integer
          format: int32
        originalScreenWidth:
          type: integer
          format: int32
        originalScreenHeight:
          type: integer
          format: int32
        col:
          type: integer
          format: int32
        row:
          type: integer
          format: int32
        xpos:
          type: integer
          format: int32
        ypos:
          type: integer
          format: int32
        id:
          type: integer
          format: int64
        size_x:
          type: integer
          format: int32
        size_y:
          type: integer
          format: int32
        size_y_original:
          type: integer
          format: int32
        grain:
          type: integer
          format: int32
  securitySchemes:
    Authorization:
      type: http
      in: header
      scheme: bearer
x-provenance:
  method: harvested
  publisher: Knowi
  source: https://www.knowi.com/api/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)