> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 测试数据源凭据

> 由数据源提供商验证该数据源的凭据，并返回结果。不会对数据源做任何更改。

只有绑定了 `active` 连接的数据源才能测试。

无请求体。



## OpenAPI

````yaml /zh/api-reference/openapi_service.json post /knowledge-fs/spaces/{knowledge_base_id}/sources/{source_id}/test
openapi: 3.0.1
info:
  description: 用于 Dify 应用与知识库的 REST API。应用类接口使用应用 API 密钥认证，知识库类接口使用知识库 API 密钥认证。
  title: Dify 服务 API
  version: 1.0.0
servers:
  - description: Dify 服务 API 的基础 URL。自部署时，替换为你的 API 基础 URL。
    url: https://{api_base_url}
    variables:
      api_base_url:
        default: api.dify.ai/v1
        description: API 基础 URL 的主机与路径，不含 `https://` 前缀。
security:
  - ApiKeyAuth: []
tags:
  - description: 与聊天消息和交互相关的操作。
    name: 对话消息
  - description: 文件上传和预览操作。
    name: 文件操作
  - description: 终端用户信息相关操作。
    name: 终端用户
  - description: 用户反馈操作。
    name: 消息反馈
  - description: 与管理会话相关的操作。
    name: 会话管理
  - description: 文字转语音和语音转文字操作。
    name: 语音与文字转换
  - description: 获取应用设置和信息的操作。
    name: 应用配置
  - description: 与管理标注直接回复相关的操作。
    name: 标注管理
  - description: 暂停等待人工输入的工作流恢复操作。
    name: 人工介入
  - description: 用于执行和管理工作流的操作。
    name: 工作流运行
  - description: 文本生成相关操作。
    name: 文本生成消息
  - description: 用于管理知识库的操作，包括创建、配置和检索。
    name: 知识库
  - description: 用于在知识库中创建、更新和管理文档的操作。
    name: 文档
  - description: 用于管理分段和子分段的操作。
    name: 分段
  - description: 用于管理知识库元数据字段和文档元数据值的操作。
    name: 元数据
  - description: 用于管理知识库标签和标签绑定的操作。
    name: 标签
  - description: 用于获取可用模型的操作。
    name: 模型
  - description: 用于管理和运行知识流水线的操作，包括数据源插件和流水线执行。
    name: 知识流水线
  - description: 向知识库提问，并流式返回回答。
    name: 查询
  - description: 查看一次查询检索到了什么，以及原因。
    name: 查询记录
  - description: 在后台运行研究问题，并获取其结果。
    name: 研究任务
  - description: 读取知识库中的文档及其文件、修订版本和分段，并用元数据标注文档。
    name: 文档与分段
  - description: 跟踪、取消或重试索引，并列出知识库的后台任务。
    name: 索引任务
  - description: 跟踪文档文件、一批文件或数据源的删除，直到完成。
    name: 删除作业
  - description: 管理为知识库提供内容的数据源，以及它们的定时同步设置和连接。
    name: 数据源
  - description: 立即同步数据源，导入网站页面或提供商条目，并跟踪、取消或重试运行。
    name: 数据源同步与导入
  - description: 读取和更改知识库的模型与检索设置，并跟踪更改触发的迁移。
    name: 设置
paths:
  /knowledge-fs/spaces/{knowledge_base_id}/sources/{source_id}/test:
    post:
      tags:
        - Sources
      summary: 测试数据源凭据
      description: |-
        由数据源提供商验证该数据源的凭据，并返回结果。不会对数据源做任何更改。

        只有绑定了 `active` 连接的数据源才能测试。

        无请求体。
      operationId: testSourceCredentials
      parameters:
        - description: >-
            知识库 ID：即知识库 **API 访问** 对话框中所示服务 API
            端点的最后一段（`…/knowledge-fs/spaces/<knowledge base ID>`），也是地址栏中
            `/datasets/new/` 之后的那一段。
          in: path
          name: knowledge_base_id
          required: true
          schema:
            format: uuid
            type: string
        - description: 数据源 ID，通过 [获取数据源列表](/zh/api-reference/sources/list-sources) 获取。
          in: path
          name: source_id
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                invalid:
                  summary: 响应示例 - 凭据被拒绝
                  value:
                    code: SOURCE_CREDENTIAL_TEST_FAILED
                    error: >-
                      The Agent Knowledge Base operation requires a
                      configuration change before it can continue.
                    failure:
                      action: configure_source
                      category: configuration
                      code: SOURCE_CREDENTIAL_TEST_FAILED
                      message: >-
                        The Agent Knowledge Base operation requires a
                        configuration change before it can continue.
                      parameters: null
                      retryPolicy: after_configuration
                      stage: credential-test
                      traceId: null
                    valid: false
                valid:
                  summary: 响应示例 - 凭据有效
                  value:
                    code: null
                    error: null
                    failure: null
                    valid: true
              schema:
                properties:
                  code:
                    description: >-
                      `valid` 为 `false` 时为 `failure.code`，否则为 `null`。此处的
                      `SOURCE_CREDENTIAL_TEST_FAILED` 表示提供商拒绝了凭据。
                    nullable: true
                    type: string
                  error:
                    description: >-
                      `valid` 为 `false` 时为 `failure.message`，否则为 `null`。文本按失败的
                      `category` 或 `code` 固定，从不包含提供商自己给出的原因。
                    nullable: true
                    type: string
                  failure:
                    allOf:
                      - $ref: '#/components/schemas/KnowledgeBaseErrorDetails'
                    description: >-
                      `valid` 为 `false` 时的错误详情；提供商未给出原因时为 `null`。`valid` 为
                      `true` 时为 `null`。`stage` 为 `credential-test`。
                    nullable: true
                  valid:
                    description: 提供商接受凭据时为 `true`。
                    type: boolean
                type: object
          description: '测试结果。凭据被拒绝时返回 200，带有 `valid: false` 和错误详情。'
        '400':
          content:
            application/json:
              examples:
                knowledge_fs_invalid_request:
                  summary: knowledge_fs_invalid_request
                  value:
                    code: knowledge_fs_invalid_request
                    failure:
                      category: validation
                      code: KNOWLEDGE_FS_INVALID_REQUEST
                      message: The Agent Knowledge Base request is invalid.
                      retryPolicy: never
                      traceId: 5e2a9c17-3b4d-4f60-8a1b-2c3d4e5f6a7b
                    message: The Agent Knowledge Base request is invalid.
                    status: 400
                knowledge_fs_invalid_request_path:
                  summary: knowledge_fs_invalid_request (path ID)
                  value:
                    code: knowledge_fs_invalid_request
                    message: Agent Knowledge Base request is invalid.
                    status: 400
          description: |-
            - `knowledge_fs_invalid_request`：`source_id` 不是 UUID。
            - `knowledge_fs_invalid_request`：`source_id` 格式不正确。
        '401':
          content:
            application/json:
              examples:
                knowledge_fs_invalid_credential:
                  summary: knowledge_fs_invalid_credential
                  value:
                    code: knowledge_fs_invalid_credential
                    message: Invalid Agent Knowledge Base service credential.
                    status: 401
                unauthorized:
                  summary: unauthorized
                  value:
                    code: unauthorized
                    message: Access token is invalid
                    status: 401
          description: >-
            - `unauthorized`：缺少 `Authorization` 请求头，或密钥无法识别、不是知识库 API 密钥。

            - `knowledge_fs_invalid_credential`：密钥有效，但其所属工作空间中没有此 ID
            的知识库，或该密钥未关联任何工作空间。
        '403':
          content:
            application/json:
              examples:
                forbidden:
                  summary: forbidden (rate limit)
                  value:
                    code: forbidden
                    message: >-
                      Sorry, you have reached the knowledge base request rate
                      limit of your subscription.
                    status: 403
                knowledge_fs_access_denied:
                  summary: knowledge_fs_access_denied (key scope)
                  value:
                    code: knowledge_fs_access_denied
                    message: Agent Knowledge Base operation is not allowed.
                    status: 403
          description: >-
            - `knowledge_fs_access_denied`：该密钥的访问范围限定为其他知识库、此知识库已关闭 **API
            访问**，或知识库未处于活动状态。

            - `forbidden`：在 Dify Cloud
            上，工作空间已达到其订阅套餐的知识库请求频率限制。所有调用都计入，读取操作也不例外。
        '404':
          content:
            application/json:
              examples:
                knowledge_fs_resource_not_found:
                  summary: knowledge_fs_resource_not_found
                  value:
                    code: knowledge_fs_resource_not_found
                    failure:
                      category: not_found
                      code: KNOWLEDGE_FS_NOT_FOUND
                      message: >-
                        The requested Agent Knowledge Base resource was not
                        found.
                      retryPolicy: never
                    message: The requested Agent Knowledge Base resource was not found.
                    status: 404
                not_found:
                  summary: not_found (feature off)
                  value:
                    code: not_found
                    message: >-
                      The requested URL was not found on the server. If you
                      entered the URL manually please check your spelling and
                      try again.
                    status: 404
          description: >-
            - `knowledge_fs_resource_not_found`：知识库中不存在此 ID 的数据源，或其
            `permission_scope` 不在该密钥的授权范围内。

            - `not_found`：当前部署已关闭 Agent 知识库功能。
        '502':
          content:
            application/json:
              examples:
                knowledge_fs_upstream_unavailable:
                  summary: knowledge_fs_upstream_unavailable
                  value:
                    code: knowledge_fs_upstream_unavailable
                    message: Agent Knowledge Base is unavailable.
                    status: 502
                knowledge_fs_upstream_unavailable_test:
                  summary: >-
                    knowledge_fs_upstream_unavailable
                    (SOURCE_CREDENTIAL_TEST_FAILED)
                  value:
                    code: knowledge_fs_upstream_unavailable
                    failure:
                      action: configure_source
                      category: configuration
                      code: SOURCE_CREDENTIAL_TEST_FAILED
                      message: >-
                        The Agent Knowledge Base operation requires a
                        configuration change before it can continue.
                      retryPolicy: after_configuration
                      stage: credential-test
                      traceId: 5e2a9c17-3b4d-4f60-8a1b-2c3d4e5f6a7b
                    message: >-
                      The Agent Knowledge Base operation requires a
                      configuration change before it can continue.
                    status: 502
          description: >-
            - `knowledge_fs_upstream_unavailable`：未能及时收到响应，或无法读取响应。稍候重试。

            - `knowledge_fs_upstream_unavailable`：提供商或连接出错，测试无法进行。响应体带有 `stage`
            为 `credential-test` 的 `failure`，例如
            `SOURCE_CREDENTIAL_TEST_FAILED`。如果连接未激活或其凭据无法解析，在 Dify 的 **集成** >
            **数据来源** 中修复该连接。如果提供商暂时无法访问，稍候重试。

            - `knowledge_fs_upstream_unavailable`：当前部署未配置凭据测试器。`failure.code` 为
            `KNOWLEDGE_FS_INTERNAL_ERROR`。
        '503':
          content:
            application/json:
              examples:
                knowledge_fs_operation_unavailable:
                  summary: knowledge_fs_operation_unavailable
                  value:
                    code: knowledge_fs_operation_unavailable
                    message: Agent Knowledge Base operation is not available.
                    status: 503
                knowledge_fs_operation_unavailable_upstream:
                  summary: knowledge_fs_operation_unavailable (temporary)
                  value:
                    code: knowledge_fs_operation_unavailable
                    failure:
                      action: retry
                      category: dependency
                      code: KNOWLEDGE_FS_UNAVAILABLE
                      message: >-
                        A service required by Agent Knowledge Base is
                        temporarily unavailable.
                      retryPolicy: manual
                      traceId: 5e2a9c17-3b4d-4f60-8a1b-2c3d4e5f6a7b
                    message: >-
                      A service required by Agent Knowledge Base is temporarily
                      unavailable.
                    status: 503
          description: >-
            - `knowledge_fs_operation_unavailable`：此工作空间尚未配置 Agent
            知识库功能、当前部署不提供此操作，或在请求鉴权期间该密钥对此知识库的访问权限发生了变化。

            - `knowledge_fs_operation_unavailable`：暂时无法处理该请求。按
            `failure.retryPolicy` 处理。
components:
  schemas:
    KnowledgeBaseErrorDetails:
      properties:
        action:
          description: >-
            建议的下一步操作（如有）：`configure_model`、`configure_parser`、`configure_source`、`contact_admin`、`reupload`
            或 `retry`。不适用时为 `null`。HTTP 错误响应体中不包含此字段。
          nullable: true
          type: string
        category:
          description: >-
            失败类别：`authorization`、`canceled`、`configuration`、`conflict`、`dependency`、`internal`、`not_found`、`rate_limit`、`timeout`
            或 `validation`。
          type: string
        code:
          description: >-
            稳定的错误码，采用大写蛇形命名，例如 `KNOWLEDGE_FS_CONFLICT` 或
            `SOURCE_CREDENTIAL_TEST_FAILED`。
          type: string
        message:
          description: 错误码或失败类别对应的公开消息。不会暴露提供商的错误详情。
          type: string
        parameters:
          additionalProperties: true
          description: >-
            描述失败细节的值，最多 8 个，键取自
            `attempt`、`currentRowVersion`、`documentCount`、`expectedRowVersion`、`fileSizeBytes`、`limit`、`maxFileSizeBytes`、`maxItems`、`modelType`、`providerKind`、`retryAfterSeconds`
            和 `status`。没有时为 `null`。HTTP 错误响应体中不包含此字段。
          nullable: true
          type: object
        retryPolicy:
          description: >-
            重试是否有用：`automatic`（服务会自动重试）、`manual`（需自行重试）、`after_configuration`（先在
            Dify 中修正知识库配置）或 `never`（需修改请求）。
          type: string
        stage:
          description: >-
            失败所在的阶段，例如 `query_generation` 或 `credential-test`。不适用时为 `null`。HTTP
            错误响应体中不包含此字段。
          nullable: true
          type: string
        traceId:
          description: 联系管理员时需提供的参考编号。在包含失败详情的成功响应中可能为 `null`，在 HTTP 错误响应体中可能不出现。
          nullable: true
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: API_KEY
      description: >-
        每个请求都通过 API Key 认证：`Authorization: Bearer {API_KEY}`。应用接口使用应用 API
        Key，知识库接口使用知识库 API Key（[快速开始](/zh/api-reference/guides/get-started)）。


        API Key 应保存在服务端，切勿嵌入客户端代码。缺失或无效的 Key 会返回 HTTP `401`（`unauthorized`）。
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.