Cognee Integrations API

Endpoints for connecting, provisioning, and disconnecting OAuth providers and plugins.

Operations 13

GET /api/v1/integrations/status Integrations Status #
POST /api/v1/integrations/plugins/{plugin_key}/provision Provision Plugin #
DELETE /api/v1/integrations/plugins/{plugin_key} Disconnect Plugin #
POST /api/v1/integrations/{provider}/authorize Authorize #
GET /api/v1/integrations/{provider}/connection Connection Status #
DELETE /api/v1/integrations/{provider}/connection Disconnect #
GET /api/v1/integrations/{provider}/labels Integration Resources #
PUT /api/v1/integrations/{provider}/labels Set Integration Resources #
GET /api/v1/integrations/{provider}/folders Integration Resources #
PUT /api/v1/integrations/{provider}/folders Set Integration Resources #
GET /api/v1/integrations/{provider}/resources Integration Resources #
PUT /api/v1/integrations/{provider}/resources Set Integration Resources #
POST /api/v1/integrations/{provider}/sync Sync Integration #

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/cognee:cognee-integrations-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

cognee-integrations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cognee Integrations API
  description: Cognee API with Bearer token and Cookie auth
  version: 1.0.0
servers:
- url: https://{tenant}.aws.cognee.ai
  description: 'Cognee Cloud: your tenant pod, named in the platform.cognee.ai dashboard'
  variables:
    tenant:
      default: your-tenant
      description: Your tenant name, shown in the Cognee Cloud dashboard
- url: http://localhost:8000
  description: 'Self-hosted: a locally running cognee server'
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: Integrations
  description: Endpoints for connecting, provisioning, and disconnecting OAuth providers and plugins.
paths:
  /api/v1/integrations/status:
    get:
      tags:
      - Integrations
      summary: Integrations Status
      description: 'Aggregate connection status: every OAuth provider + every known plugin.


        One call powers the whole integrations page. Every registered

        provider and every known plugin appears, connected or not, with

        display fields only — never token material. Each status source

        (credentials, identity plugins, legacy prefixes, agent registry) is

        fetched independently and degrades to its empty default on failure:

        a broken source logs server-side and blanks its section rather than

        500ing the page (same posture as the sessions list).'
      operationId: integrations_status_api_v1_integrations_status_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationsStatusDTO'
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
  /api/v1/integrations/plugins/{plugin_key}/provision:
    post:
      tags:
      - Integrations
      summary: Provision Plugin
      description: 'Provision (or re-key) a dedicated agent identity for a plugin.


        Idempotent get-or-create: the first call creates an agent sub-user

        for ``(user, plugin_key)`` with a labeled API key; every later call

        returns the same agent but rotates the key (old keys are revoked —

        re-provision *is* the rotation flow). The returned key is shown once

        and never retrievable again.


        ## Path Parameters

        - **plugin_key** (str): Key of a known plugin (see GET /api/v1/integrations/status).'
      operationId: provision_plugin_api_v1_integrations_plugins__plugin_key__provision_post
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: plugin_key
        in: path
        required: true
        schema:
          type: string
          title: Plugin Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginProvisionDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/plugins/{plugin_key}:
    delete:
      tags:
      - Integrations
      summary: Disconnect Plugin
      description: 'Disconnect a plugin: revoke its API keys, keep its data.


        The agent user and everything it wrote stay — deleting data on

        disconnect would be surprising; full removal stays on

        ``DELETE /api/v1/agents/{agent_id}``. Re-provisioning later revives

        the same identity with a fresh key.


        ## Path Parameters

        - **plugin_key** (str): Key of a known plugin (see GET /api/v1/integrations/status).'
      operationId: disconnect_plugin_api_v1_integrations_plugins__plugin_key__delete
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: plugin_key
        in: path
        required: true
        schema:
          type: string
          title: Plugin Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectResultDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/{provider}/authorize:
    post:
      tags:
      - Integrations
      summary: Authorize
      description: 'Mint the provider''s authorize URL for the requesting user.


        Also sets the nonce cookie the callback checks. The state alone says

        which user *started* an install; the cookie is what says the browser

        finishing it is the same one. See :func:`_set_install_nonce`.


        ## Path Parameters

        - **provider** (str): Key of a registered OAuth provider (see GET

        /api/v1/integrations/status).'
      operationId: authorize_api_v1_integrations__provider__authorize_post
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizeUrlDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/{provider}/connection:
    get:
      tags:
      - Integrations
      summary: Connection Status
      description: 'Connection state for the Integrations page.


        ## Path Parameters

        - **provider** (str): Key of a registered OAuth provider (see GET

        /api/v1/integrations/status).'
      operationId: connection_status_api_v1_integrations__provider__connection_get
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionStatusDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Integrations
      summary: Disconnect
      description: 'Disconnect the account connected by the requesting user.


        Marks the stored installation revoked, and best-effort asks the

        provider to kill the token on its own side via

        ``integration.revoke_remote``. That call is wrapped here too, on top

        of each adapter''s own best-effort handling — a third-party

        integration that doesn''t honor the "never raise" contract on

        ``revoke_remote`` still must not block the local disconnect.


        ## Path Parameters

        - **provider** (str): Key of a registered OAuth provider (see GET

        /api/v1/integrations/status).'
      operationId: disconnect_api_v1_integrations__provider__connection_delete
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      - name: delete_data
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Delete Data
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectResultDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/{provider}/labels:
    get:
      tags:
      - Integrations
      summary: Integration Resources
      description: 'List selectable resources for a connected integration.


        ``/folders`` and ``/labels`` are readable aliases for SDK callers that

        want provider vocabulary; ``/resources`` is the stable generic path.

        The returned selection is three-state: ``null`` means all resources,

        an empty list means none, and a non-empty list is an allowlist.'
      operationId: integration_resources_api_v1_integrations__provider__labels_get
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResourceListDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Integrations
      summary: Set Integration Resources
      description: Persist a full resource selection for a connected integration.
      operationId: set_integration_resources_api_v1_integrations__provider__labels_put
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationResourceSelectionPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResourceSelectionResultDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/{provider}/folders:
    get:
      tags:
      - Integrations
      summary: Integration Resources
      description: 'List selectable resources for a connected integration.


        ``/folders`` and ``/labels`` are readable aliases for SDK callers that

        want provider vocabulary; ``/resources`` is the stable generic path.

        The returned selection is three-state: ``null`` means all resources,

        an empty list means none, and a non-empty list is an allowlist.'
      operationId: integration_resources_api_v1_integrations__provider__folders_get
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResourceListDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Integrations
      summary: Set Integration Resources
      description: Persist a full resource selection for a connected integration.
      operationId: set_integration_resources_api_v1_integrations__provider__folders_put
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationResourceSelectionPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResourceSelectionResultDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/{provider}/resources:
    get:
      tags:
      - Integrations
      summary: Integration Resources
      description: 'List selectable resources for a connected integration.


        ``/folders`` and ``/labels`` are readable aliases for SDK callers that

        want provider vocabulary; ``/resources`` is the stable generic path.

        The returned selection is three-state: ``null`` means all resources,

        an empty list means none, and a non-empty list is an allowlist.'
      operationId: integration_resources_api_v1_integrations__provider__resources_get
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResourceListDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Integrations
      summary: Set Integration Resources
      description: Persist a full resource selection for a connected integration.
      operationId: set_integration_resources_api_v1_integrations__provider__resources_put
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationResourceSelectionPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResourceSelectionResultDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/integrations/{provider}/sync:
    post:
      tags:
      - Integrations
      summary: Sync Integration
      description: Start a provider sync without changing its stored selection.
      operationId: sync_integration_api_v1_integrations__provider__sync_post
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
          title: Provider
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationSyncResultDTO'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    IntegrationResourceSelectionResultDTO:
      properties:
        selected:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Selected
      type: object
      title: IntegrationResourceSelectionResultDTO
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PluginProvisionDTO:
      properties:
        pluginKey:
          type: string
          title: Pluginkey
        agentId:
          type: string
          format: uuid
          title: Agentid
        apiKey:
          type: string
          title: Apikey
        created:
          type: boolean
          title: Created
      type: object
      required:
      - pluginKey
      - agentId
      - apiKey
      - created
      title: PluginProvisionDTO
    IntegrationResourceDTO:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        attributes:
          additionalProperties: true
          type: object
          title: Attributes
        selected:
          type: boolean
          title: Selected
          default: false
      type: object
      required:
      - id
      - name
      title: IntegrationResourceDTO
    DisconnectResultDTO:
      properties:
        disconnected:
          type: boolean
          title: Disconnected
      type: object
      required:
      - disconnected
      title: DisconnectResultDTO
    IntegrationSyncResultDTO:
      properties:
        accepted:
          type: boolean
          title: Accepted
      type: object
      required:
      - accepted
      title: IntegrationSyncResultDTO
    IntegrationResourceListDTO:
      properties:
        resources:
          items:
            $ref: '#/components/schemas/IntegrationResourceDTO'
          type: array
          title: Resources
        selected:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Selected
      type: object
      required:
      - resources
      title: IntegrationResourceListDTO
    IntegrationResourceSelectionPayload:
      properties:
        resourceIds:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Resourceids
      type: object
      title: IntegrationResourceSelectionPayload
    AuthorizeUrlDTO:
      properties:
        authorizeUrl:
          type: string
          title: Authorizeurl
      type: object
      required:
      - authorizeUrl
      title: AuthorizeUrlDTO
    ConnectionStatusDTO:
      properties:
        connected:
          type: boolean
          title: Connected
        datasetId:
          anyOf:
          - type: string
          - type: 'null'
          title: Datasetid
        storedItems:
          anyOf:
          - type: integer
          - type: 'null'
          title: Storeditems
        accountLabel:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountlabel
        providerAccountId:
          anyOf:
          - type: string
          - type: 'null'
          title: Provideraccountid
        connectedAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Connectedat
        syncStatus:
          anyOf:
          - type: string
          - type: 'null'
          title: Syncstatus
        lastSyncedAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Lastsyncedat
        syncCounts:
          anyOf:
          - additionalProperties:
              type: integer
            type: object
          - type: 'null'
          title: Synccounts
      type: object
      required:
      - connected
      title: ConnectionStatusDTO
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    IntegrationStatusItemDTO:
      properties:
        provider:
          type: string
          title: Provider
        connected:
          type: boolean
          title: Connected
        accountLabel:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountlabel
        providerAccountId:
          anyOf:
          - type: string
          - type: 'null'
          title: Provideraccountid
        connectedAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Connectedat
        syncStatus:
          anyOf:
          - type: string
          - type: 'null'
          title: Syncstatus
        lastSyncedAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Lastsyncedat
        syncCounts:
          anyOf:
          - additionalProperties:
              type: integer
            type: object
          - type: 'null'
          title: Synccounts
      type: object
      required:
      - provider
      - connected
      title: IntegrationStatusItemDTO
    IntegrationsStatusDTO:
      properties:
        integrations:
          items:
            $ref: '#/components/schemas/IntegrationStatusItemDTO'
          type: array
          title: Integrations
        plugins:
          items:
            $ref: '#/components/schemas/PluginStatusItemDTO'
          type: array
          title: Plugins
      type: object
      required:
      - integrations
      - plugins
      title: IntegrationsStatusDTO
    PluginStatusItemDTO:
      properties:
        key:
          type: string
          title: Key
        connected:
          type: boolean
          title: Connected
        agentId:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Agentid
        provisionedAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Provisionedat
        lastActiveAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Lastactiveat
        sessionCount:
          type: integer
          title: Sessioncount
          default: 0
        source:
          anyOf:
          - type: string
          - type: 'null'
          title: Source
      type: object
      required:
      - key
      - connected
      title: PluginStatusItemDTO
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    CookieAuth:
      type: apiKey
      in: cookie
      name: auth_token
x-provenance:
  method: harvested
  publisher: Cognee
  source: https://docs.cognee.ai/cognee_openapi_spec.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)