Knowi Datasource Management API

Manage datasources

Operations 5

GET /api/2.0/datasources/{objectId}/shares List share information for datasource #
PUT /api/2.0/datasources/{objectId}/shares Add share information for datasource #
POST /api/2.0/datasources/{objectId}/shares Set share information for datasource #
GET /api/2.0/datasources List accessible datasources #
GET /api/2.0/datasources/{objectId} Retrieve a datasource with specific 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-datasource-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-datasource-management-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: User Management Datasource Management API
  description: Manage users
  version: '2.0'
tags:
- name: Datasource Management API
  description: Manage datasources
paths:
  /api/2.0/datasources/{objectId}/shares:
    get:
      tags:
      - Datasource Management API
      summary: List share information for datasource
      operationId: listShares_1
      parameters:
      - name: objectId
        in: path
        description: Datasource ID to retrieve sharing information for
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ShareInfo'
        '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:
      - Datasource Management API
      summary: Add share information for datasource
      operationId: addShares_1
      parameters:
      - name: objectId
        in: path
        description: Datasource ID to add sharing information for
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: List of share information to be set
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ShareInfo'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ShareInfo'
        '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: []
    post:
      tags:
      - Datasource Management API
      summary: Set share information for datasource
      operationId: setShares_1
      parameters:
      - name: objectId
        in: path
        description: Datasource ID to set sharing information for
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: List of share information to be set
        content:
          '*/*':
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ShareInfo'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ShareInfo'
        '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/datasources:
    get:
      tags:
      - Datasource Management API
      summary: List accessible datasources
      operationId: listDatasources
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ConnectorDatasource'
        '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/datasources/{objectId}:
    get:
      tags:
      - Datasource Management API
      summary: Retrieve a datasource with specific ID
      operationId: viewDatasource
      parameters:
      - name: objectId
        in: path
        description: Datasource ID to be retrieved
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/MongoDBDatasource'
                - $ref: '#/components/schemas/MySQLDBDatasource'
        '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: []
components:
  schemas:
    MongoDBDatasource:
      required:
      - datasource
      - name
      type: object
      properties:
        name:
          type: string
          description: Datasource name
        datasource:
          type: string
          description: 'Datasource type. Possible values: bigquery, cloud9charts, cloudant, couchbase, datastax, elasticsearch, ga, hana, hive, influxdb, logsene, marklogic, mongo, mysql, oracle, orientdb, phoenix, postgresql, presto, salesforce, redshift, restapi, snowflake, spark, sqlserver, teradata'
        privateConnector:
          type: string
          description: ID of private connector
        proxy:
          type: boolean
          description: Enable proxy server usage
        proxyAddress:
          type: string
          description: Proxy server address
        dbProperties:
          type: string
          description: (datastax, elasticsearch, hana, hive, marklogic, mongo, mysql, oracle, phoenix, postgresql, presto, redshift, snowflake, spark, sqlserver) Database specific properties in datasource specific format such as headers, query string, etc
        userId:
          type: string
          description: (cloudant, couchbase, datastax, elasticsearch, hana, hive, influxdb, logsene, marklogic, mongo, mysql, oracle, orientdb, phoenix, postgresql, presto, redshift, restapi, snowflake, spark, sqlserver, teradata) User ID
        password:
          type: string
          description: (cloudant, couchbase, datastax, elasticsearch, hana, hive, influxdb, logsene, marklogic, mongo, mysql, oracle, orientdb, phoenix, postgresql, presto, redshift, restapi, snowflake, spark, sqlserver, teradata) User password
        host:
          type: string
          description: (couchbase, datastax, hana, hive, influxdb, marklogic, mongo, mysql, oracle, orientdb, phoenix, postgresql, presto, redshift, snowflake, spark, sqlserver, teradata) Database host(s)
        dbName:
          type: string
          description: (cloudant, couchbase, datastax, hana, hive, influxdb, marklogic, mongo, mysql, oracle, orientdb, phoenix, postgresql, presto, redshift, snowflake, spark, sqlserver, teradata) Database, Bucket, or Keyspace name
        port:
          type: integer
          description: (datastax, hana, hive, marklogic, mongo, mysql, oracle, phoenix, postgresql, presto, redshift, snowflake, spark, sqlserver, teradata) Database port
          format: int32
        legacyVersionSupport:
          type: boolean
        legacyMode:
          type: boolean
        dsDisplayName:
          type: string
          description: Datasource full name to display
          readOnly: true
      description: MongoDB Datasource information
    ShareInfo:
      required:
      - accessLevel
      - type
      type: object
      properties:
        id:
          type: integer
          description: ID of user or group to be shared to
          format: int64
        type:
          type: string
          description: Share type
          example: Users,Groups
        accessLevel:
          type: integer
          description: Share access level
          format: int32
        name:
          type: string
          description: Username + name or group name to be shared to.  When sharing to a user, either id field or the combination of name, externalAuthId, and ssoUser have to be specified
        externalAuthId:
          type: integer
          description: External authenticate ID to be shared to
          format: int64
        ssoUser:
          type: boolean
          description: Whether or not user is SSO user
        external_auth_id:
          type: integer
          format: int64
          writeOnly: true
        access_level:
          type: integer
          format: int32
          writeOnly: true
        sso_user:
          type: boolean
          writeOnly: true
      description: Sharing information
    MySQLDBDatasource:
      required:
      - datasource
      - name
      type: object
      properties:
        name:
          type: string
          description: Datasource name
        datasource:
          type: string
          description: 'Datasource type. Possible values: bigquery, cloud9charts, cloudant, couchbase, datastax, elasticsearch, ga, hana, hive, influxdb, logsene, marklogic, mongo, mysql, oracle, orientdb, phoenix, postgresql, presto, salesforce, redshift, restapi, snowflake, spark, sqlserver, teradata'
        privateConnector:
          type: string
          description: ID of private connector
        proxy:
          type: boolean
          description: Enable proxy server usage
        proxyAddress:
          type: string
          description: Proxy server address
        dbProperties:
          type: string
          description: (datastax, elasticsearch, hana, hive, marklogic, mongo, mysql, oracle, phoenix, postgresql, presto, redshift, snowflake, spark, sqlserver) Database specific properties in datasource specific format such as headers, query string, etc
        userId:
          type: string
          description: (cloudant, couchbase, datastax, elasticsearch, hana, hive, influxdb, logsene, marklogic, mongo, mysql, oracle, orientdb, phoenix, postgresql, presto, redshift, restapi, snowflake, spark, sqlserver, teradata) User ID
        password:
          type: string
          description: (cloudant, couchbase, datastax, elasticsearch, hana, hive, influxdb, logsene, marklogic, mongo, mysql, oracle, orientdb, phoenix, postgresql, presto, redshift, restapi, snowflake, spark, sqlserver, teradata) User password
        host:
          type: string
          description: (couchbase, datastax, hana, hive, influxdb, marklogic, mongo, mysql, oracle, orientdb, phoenix, postgresql, presto, redshift, snowflake, spark, sqlserver, teradata) Database host(s)
        dbName:
          type: string
          description: (cloudant, couchbase, datastax, hana, hive, influxdb, marklogic, mongo, mysql, oracle, orientdb, phoenix, postgresql, presto, redshift, snowflake, spark, sqlserver, teradata) Database, Bucket, or Keyspace name
        port:
          type: integer
          description: (datastax, hana, hive, marklogic, mongo, mysql, oracle, phoenix, postgresql, presto, redshift, snowflake, spark, sqlserver, teradata) Database port
          format: int32
        schema:
          type: string
          description: (hana, hive, mysql, oracle, phoenix, postgresql, presto, redshift, snowflake, spark, sqlserver, teradata) Schema name
        dsDisplayName:
          type: string
          description: Datasource full name to display
          readOnly: true
      description: MySQL Datasource information
    ApiMessage:
      type: object
      properties:
        message:
          type: string
          description: Message
          readOnly: true
        documentation:
          type: string
          description: Link to documentation
          readOnly: true
      description: Response status
    Rule:
      type: object
      properties:
        type:
          type: integer
          description: Type
          format: int32
        regex:
          type: boolean
          description: Whether or not the value is a regular expression or just plain text
        value:
          type: string
          description: Rule match value
      description: Datasource ACL rule
    ConnectorDatasource:
      required:
      - name
      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
        jsonConfig:
          type: object
          description: Datasource type specific information
          oneOf:
          - $ref: '#/components/schemas/MongoDBDatasource'
          - $ref: '#/components/schemas/MySQLDBDatasource'
        id:
          type: integer
          description: Datasource ID
          format: int64
          readOnly: true
        name:
          type: string
          description: Datasource name
        datasource:
          type: string
          description: Datasource type
        userId:
          type: integer
          description: User ID of Datasource owner
          format: int64
        connectorId:
          type: integer
          description: Connector ID of the connector that the datasource is assigned to
          format: int64
        accessLevel:
          type: integer
          description: Access level of the datasource for current user
          format: int32
          readOnly: true
        acl:
          type: array
          items:
            $ref: '#/components/schemas/Rule'
        username:
          type: string
          description: Datasource owner's username
          readOnly: true
        proxy:
          type: boolean
          description: Whether or not direct query can be allowed on a private agent for this datasource. Note that the private agent needs to have proxy enabled as well.
        connectSchema:
          type: boolean
          description: Whether or not this has schema detection enabled
        directQueryOnly:
          type: boolean
          description: Whether or not this datasource is only allow direct query
        timeZone:
          type: string
          description: Timezone
        userEmail:
          type: string
      description: Datasource information
  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)