> ## Documentation index
> Fetch the complete documentation index at: https://dify-docs.docs7.io/llms.txt
> Ask it with GET https://dify-docs.docs7.io/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.

# List Datasource Plugins

> Returns the datasource nodes configured in the knowledge pipeline, each with the plugin it uses and the metadata needed to run it.

`GET /datasets/{dataset_id}/pipeline/datasource-plugins`

## OpenAPI

````yaml en/api-reference/openapi_service.json get /datasets/{dataset_id}/pipeline/datasource-plugins
openapi: 3.0.1
info:
  description: REST API for Dify applications and knowledge bases. Application
    endpoints authenticate with an app API key; knowledge endpoints authenticate
    with a dataset API key.
  title: Dify Service API
  version: 1.0.0
servers:
  - description: Base URL of the Dify Service API. For self-hosted deployments,
      replace it with your own API base URL.
    url: https://{api_base_url}
    variables:
      api_base_url:
        default: api.dify.ai/v1
        description: Host and path of the API base URL, without the `https://` prefix.
security:
  - ApiKeyAuth: []
tags:
  - description: Operations related to chat messages and interactions.
    name: Chat Messages
  - description: File upload and preview operations.
    name: Files
  - description: Operations related to end user information.
    name: End Users
  - description: User feedback operations.
    name: Feedback
  - description: Operations related to managing conversations.
    name: Conversations
  - description: Text-to-Speech and Speech-to-Text operations.
    name: Audio
  - description: Operations to retrieve application settings and information.
    name: Applications
  - description: Operations related to managing annotations for direct replies.
    name: Annotations
  - description: Endpoints for resuming paused workflows that require human input.
    name: Human Input
  - description: Operations for executing and managing workflows.
    name: Workflow Runs
  - description: Operations related to text generation and completion.
    name: Completion Messages
  - description: Operations for managing knowledge bases, including creation,
      configuration, and retrieval.
    name: Knowledge Bases
  - description: Operations for creating, updating, and managing documents within a
      knowledge base.
    name: Documents
  - description: Operations for managing document chunks and child chunks.
    name: Chunks
  - description: Operations for managing knowledge base metadata fields and document
      metadata values.
    name: Metadata
  - description: Operations for managing knowledge base tags and tag bindings.
    name: Tags
  - description: Operations for retrieving available models.
    name: Models
  - description: Operations for managing and running knowledge pipelines, including
      datasource plugins and pipeline execution.
    name: Knowledge Pipeline
paths:
  /datasets/{dataset_id}/pipeline/datasource-plugins:
    get:
      description: Returns the datasource nodes configured in the knowledge pipeline,
        each with the plugin it uses and the metadata needed to run it.
      operationId: listDatasourcePlugins
      parameters:
        - description: Knowledge base ID, from [List Knowledge
            Bases](/en/api-reference/knowledge-bases/list-knowledge-bases). For
            a scoped key, [copy the ID from the Dify
            URL](/en/api-reference/guides/knowledge#knowledge-base-id).
          in: path
          name: dataset_id
          required: true
          schema:
            format: uuid
            type: string
        - description: Whether to read nodes from the published pipeline version rather
            than the draft.
          in: query
          name: is_published
          schema:
            default: true
            type: boolean
      responses:
        "200":
          content:
            application/json:
              examples:
                success:
                  summary: Response Example
                  value:
                    - credentials:
                        - id: c1d2e3f4-a5b6-7890-abcd-ef1234567890
                          is_default: true
                          name: Production Notion
                          type: api-key
                      datasource_type: online_document
                      node_id: "1719288585006"
                      plugin_id: langgenius/notion_datasource
                      provider_name: notion
                      title: Notion Documents
                      user_input_variables: []
              schema:
                items:
                  properties:
                    credentials:
                      description: Credentials available for authenticating with this datasource.
                      items:
                        properties:
                          id:
                            description: Credential ID. Pass this as `credential_id` to [Run Datasource
                              Node](/en/api-reference/knowledge-pipeline/run-datasource-node)
                              or in per-item `credential_id` fields of [Run
                              Pipeline](/en/api-reference/knowledge-pipeline/run-pipeline).
                            type: string
                          is_default:
                            description: Whether this credential is the default for the provider.
                            type: boolean
                          name:
                            description: Display name of the credential.
                            type: string
                          type:
                            description: Credential type defined by the datasource plugin.
                            type: string
                        type: object
                      type: array
                    datasource_type:
                      description: Type of datasource. One of `local_file`, `online_document`,
                        `online_drive`, `website_crawl`.
                      type: string
                    node_id:
                      description: ID of the datasource node in the pipeline workflow. Pass this as
                        `node_id` to [Run Datasource
                        Node](/en/api-reference/knowledge-pipeline/run-datasource-node),
                        or as `start_node_id` to [Run
                        Pipeline](/en/api-reference/knowledge-pipeline/run-pipeline).
                      type: string
                    plugin_id:
                      description: ID of the datasource plugin providing this node.
                      type: string
                    provider_name:
                      description: Provider name registered by the datasource plugin.
                      type: string
                    title:
                      description: Display title configured for the node.
                      type: string
                    user_input_variables:
                      description: Pipeline input variables the caller must supply for this
                        datasource, derived from `{{#...#}}` references in the
                        node's datasource parameters. Each item follows the
                        pipeline variable schema used by the workflow.
                      items:
                        additionalProperties: true
                        type: object
                      type: array
                  type: object
                type: array
          description: List of datasource nodes configured in the pipeline.
        "400":
          content:
            application/json:
              examples:
                invalid_param:
                  summary: invalid_param
                  value:
                    code: invalid_param
                    message: Pipeline not found
                    status: 400
          description: "`invalid_param` : The knowledge base has no processing pipeline
            configured."
        "403":
          content:
            application/json:
              examples:
                forbidden_1:
                  summary: forbidden (api access)
                  value:
                    code: forbidden
                    message: Dataset api access is not enabled.
                    status: 403
                forbidden_2:
                  summary: forbidden (key scope)
                  value:
                    code: forbidden
                    message: The API key is not authorized to access this knowledge base.
                    status: 403
          description: >-
            - `forbidden` : API access is not enabled for this knowledge base.

            - `forbidden` : The API key is scoped to specific knowledge bases,
            and this knowledge base is not one of them.
        "404":
          content:
            application/json:
              examples:
                not_found:
                  summary: not_found
                  value:
                    code: not_found
                    message: Dataset not found.
                    status: 404
          description: "`not_found` : No knowledge base matches `dataset_id`."
      summary: List Datasource Plugins
      tags:
        - Knowledge Pipeline
      x-mint:
        href: /en/api-reference/knowledge-pipeline/list-datasource-plugins
        metadata:
          sidebarTitle: List Datasource Plugins
          title: List Datasource Plugins
components:
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: API_KEY
      description: >-
        Every request authenticates with an API key: `Authorization: Bearer
        {API_KEY}`. App endpoints take an app API key; knowledge endpoints take
        a knowledge base API key ([Get
        Started](/en/api-reference/guides/get-started)).


        Keep keys server-side; never embed them in client code. Requests with a
        missing or invalid key fail with HTTP `401` (`unauthorized`).
      scheme: bearer
      type: http
````
