> ## 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.

# リサーチタスクを作成

> 質問に対するリサーチタスクを作成し、`stage` が `queued` の状態で返します。タスクはその後、バックグラウンドで実行されます。計画、作成、ポーリング、結果の読み取りの流れについては、[リサーチタスクの実行](/ja/api-reference/guides/knowledge-base#run-a-research-task) を参照してください。



## OpenAPI

````yaml /ja/api-reference/openapi_service.json post /knowledge-fs/spaces/{knowledge_base_id}/research-tasks
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}/research-tasks:
    post:
      tags:
        - Research Tasks
      summary: リサーチタスクを作成
      description: >-
        質問に対するリサーチタスクを作成し、`stage` が `queued`
        の状態で返します。タスクはその後、バックグラウンドで実行されます。計画、作成、ポーリング、結果の読み取りの流れについては、[リサーチタスクの実行](/ja/api-reference/guides/knowledge-base#run-a-research-task)
        を参照してください。
      operationId: createResearchTask
      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: >-
            作成を安全に再試行できるようにする任意のキーです。前後に空白を含まない、8〜255 文字の印字可能な ASCII
            文字を使用してください。キーの形式が正しくない場合は `400` が返ります。


            同じ API キーで同じ冪等キーと同じボディを再送信すると、新しいタスクは作成されず、元のタスクが現在の状態のまま `202`
            で返されます。キーはワークスペース内で一意です。異なるボディ、別の API
            キー、別のナレッジベース、または別の操作で同じキーを再利用すると `409` が返ります。
          in: header
          name: Idempotency-Key
          required: false
          schema:
            maxLength: 255
            minLength: 8
            type: string
      requestBody:
        content:
          application/json:
            examples:
              request:
                summary: リクエスト例
                value:
                  budgetUsd: 1.5
                  limits:
                    maxRetrievalSteps: 8
                    maxScannedResources: 800
                    maxToolCalls: 12
                    timeoutMs: 120000
                  metadata:
                    client_request_id: client-20260907-0001
                    ticket: SUP-1042
                  mode: research
                  query: >-
                    What changed in the 2025 refund policy, and which regions
                    are affected?
                  topK: 10
            schema:
              additionalProperties: false
              description: 空白のみではない `query` を指定してください。
              properties:
                budgetUsd:
                  description: >-
                    支出の上限（USD）です。作成時ではなく、タスクの実行中に適用されます。[リサーチタスクを計画](/ja/api-reference/research-tasks/plan-research-task)
                    の見積もりがこの上限を超えていても、タスクは受け付けられます。タスクはモデルを呼び出す前に毎回、その呼び出しで最悪の場合にかかるコストを予算と照合します。予算を超える可能性がある場合は、呼び出しを行わずにキャンセルされます。


                    それでも、呼び出しのコストが最悪の場合の見積もりを上回ることはあるため、最終的に `cost.totalUsd` が
                    `budgetUsd` を超える場合があります。`generating`
                    段階より前に予算によってキャンセルされると、タスクには回答が残りません。最悪の場合のコストは計画の見積もりを大きく上回ることが多いため、回答が必要な場合は、`estimates.costUsd.max`
                    を大きく上回る上限を設定してください。`topK` が大きい場合は、さらに高くします。


                    予算によって停止したタスクは、`stage` が `canceled` になります。
                  minimum: 0
                  nullable: true
                  type: number
                limits:
                  additionalProperties: false
                  description: >-
                    作成時に 1 回だけ、計画の見積もりと照合されます。見積もりがいずれかの上限を超えるタスクは `422`
                    で拒否されます。`limits` を省略すると、このチェックは行われません。タスク実行中の支出を制限するには
                    `budgetUsd` を使用してください。


                    見積もりが上限と等しい場合は通過します。これらの値は、[リサーチタスクを計画](/ja/api-reference/research-tasks/plan-research-task)
                    の `estimates` をもとに決めてください。
                  nullable: true
                  properties:
                    maxRetrievalSteps:
                      description: '`estimates.retrievalSteps` と照合されます。'
                      minimum: 1
                      nullable: true
                      type: integer
                    maxScannedResources:
                      description: '`estimates.scannedResources` と照合されます。'
                      minimum: 1
                      nullable: true
                      type: integer
                    maxToolCalls:
                      description: '`estimates.toolCalls` と照合されます。'
                      minimum: 1
                      nullable: true
                      type: integer
                    timeoutMs:
                      description: '`estimates.latencyMs.p95` と照合されます（ミリ秒）。'
                      minimum: 1
                      nullable: true
                      type: integer
                  type: object
                metadata:
                  description: >-
                    タスクとともに保存され、`metadata` として返される自由形式のオブジェクトです。`__knowledgeFs`
                    で始まるキーは予約されており、破棄されます。


                    作成のレスポンスが失われた場合にタスクを識別できるよう、`client_request_id`
                    などの一意の値を含めてください。これはタスクを探す手がかりになります。再試行時に新しいタスクを作成せず、元のタスクを返すようにするには、`Idempotency-Key`
                    を送信してください。
                  type: object
                mode:
                  description: >-
                    検索の深度です。`fast`、`deep`、`research`
                    のいずれかを指定します（[検索の深度](/ja/cloud/use-dify/knowledge-base/retrieval-settings#retrieval-depth)
                    を参照）。省略すると、ナレッジベースのデフォルトの深度が使われます。これは
                    [ナレッジベース設定を取得](/ja/api-reference/settings/get-knowledge-base-settings)
                    の `retrieval.default_mode` です。
                  enum:
                    - fast
                    - deep
                    - research
                    - null
                  nullable: true
                  type: string
                query:
                  description: 質問です。空白のみではないクエリを指定してください。また、UTF-8 で 16,384 バイトまでに制限されます。
                  maxLength: 16000
                  nullable: false
                  pattern: \S
                  type: string
                topK:
                  description: >-
                    検索結果をマージしてリランクした後に残すチャンクの最大数です。明示的に指定する場合は 1〜50
                    の値にしてください。省略すると、ナレッジベースで公開されている **トップ K** 設定（最大
                    100）が使われます。値を大きくするとモデルに渡るコンテキストが増えますが、ノイズも増えます。値を小さくすると焦点は絞られますが、関連するチャンクを取りこぼすことがあります。
                  maximum: 50
                  minimum: 1
                  nullable: true
                  type: integer
              required:
                - query
              type: object
        description: >-
          nullable と記されたオプションフィールドでは、`null` は省略と同じ扱いになります。


          正規化後のリクエストは、UTF-8 で 65,536
          バイト以内に収める必要があります。[リクエストサイズの制限](/ja/api-reference/guides/knowledge-base#request-size-limits)
          を参照してください。
        required: true
      responses:
        '202':
          content:
            application/json:
              examples:
                success:
                  summary: レスポンス例
                  value:
                    budget_usd: 1.5
                    completed_at: null
                    cost:
                      budgetUsd: 1.5
                      entries: []
                      totalUsd: 0
                    created_at: 1788681600000
                    error: null
                    failure: null
                    id: e4d1b7a2-3c5f-4d8e-9a0b-1c2d3e4f5a6b
                    knowledge_space_id: b2f1d3a4-5e6c-4a7b-8c9d-0e1f2a3b4c5d
                    limits:
                      max_retrieval_steps: 8
                      max_scanned_resources: 800
                      max_tool_calls: 12
                      timeout_ms: 120000
                    metadata:
                      client_request_id: client-20260907-0001
                      ticket: SUP-1042
                    mode: research
                    query: >-
                      What changed in the 2025 refund policy, and which regions
                      are affected?
                    stage: queued
                    top_k: 10
                    updated_at: 1788681600000
              schema:
                $ref: '#/components/schemas/KnowledgeBaseResearchTask'
          description: >-
            タスクが受け付けられました。`stage` は `queued`、`mode` は決定された深度、`cost.totalUsd` は
            `0` です。同じ `Idempotency-Key` とボディで再送信すると、元のタスクが現在の状態で返されます。
        '400':
          content:
            application/json:
              examples:
                knowledge_fs_invalid_request:
                  summary: knowledge_fs_invalid_request (validation)
                  value:
                    code: knowledge_fs_invalid_request
                    message: Agent Knowledge Base request is invalid.
                    status: 400
                    violations:
                      - field:
                          - topK
                        type: less_than_equal
                knowledge_fs_invalid_request_2:
                  summary: knowledge_fs_invalid_request (rejected upstream)
                  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: 30692184-e927-4398-b8f9-a6e1eda1ea7b
                    message: The Agent Knowledge Base request is invalid.
                    status: 400
          description: >-
            - `knowledge_fs_invalid_request`：リクエストが検証に失敗しました。`violations`
            には、問題のあるフィールドがそれぞれ示されます。

            - `knowledge_fs_invalid_request`：ボディに不明なフィールド（`knowledgeSpaceId`
            を含む）や範囲外の値が含まれているか、空白のみではない `query` がありません。

            -
            `knowledge_fs_invalid_request`：ナレッジベースの検索設定では、決定された深度を実行できません。たとえば、スコアしきい値が有効で
            `rerank.enabled: false` の場合です。Dify の **設定** > **検索**
            で、リランクモデルの設定を確認してください。`failure` オブジェクトの `retryPolicy`
            は、`after_configuration` ではなく `never` です。

            - `knowledge_fs_invalid_request`：`Idempotency-Key` が 8〜255 文字の印字可能な
            ASCII 文字ではないか、前後に空白があります。
        '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
                  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
                      traceId: 8f3a2c14-9d6b-4c07-b5a1-2e7d0c93f5b2
                    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 が認識されません。
            - `not_found`：このデプロイ環境では Agent ナレッジベース機能が無効になっています。
        '409':
          content:
            application/json:
              examples:
                knowledge_fs_conflict:
                  summary: knowledge_fs_conflict
                  value:
                    code: knowledge_fs_conflict
                    failure:
                      action: retry
                      category: conflict
                      code: KNOWLEDGE_FS_CONFLICT
                      message: >-
                        The Agent Knowledge Base operation conflicts with the
                        current resource state.
                      retryPolicy: manual
                      traceId: 5e2a9c17-3b4d-4f60-8a1b-2c3d4e5f6a7b
                    message: >-
                      The Agent Knowledge Base operation conflicts with the
                      current resource state.
                    status: 409
          description: >-
            - `knowledge_fs_conflict`：`Idempotency-Key` が、異なるボディ、別の API
            キー、別のナレッジベース、または別の操作ですでに使用されています。新しいタスクには新しいキーを使用してください。
        '413':
          content:
            application/json:
              examples:
                knowledge_fs_request_too_large:
                  summary: knowledge_fs_request_too_large (request budget)
                  value:
                    code: knowledge_fs_request_too_large
                    message: Agent Knowledge Base request is too large.
                    status: 413
          description: >-
            - `knowledge_fs_request_too_large`：Dify がデフォルト値を追加した後のリクエストが、UTF-8 で
            65,536
            バイトを超えています。[リクエストサイズの制限](/ja/api-reference/guides/knowledge-base#request-size-limits)
            を参照してください。
        '422':
          content:
            application/json:
              examples:
                knowledge_fs_request_rejected:
                  summary: knowledge_fs_request_rejected
                  value:
                    code: knowledge_fs_request_rejected
                    failure:
                      category: validation
                      code: KNOWLEDGE_FS_INVALID_REQUEST
                      message: The Agent Knowledge Base request is invalid.
                      retryPolicy: never
                      traceId: 9c729446-ba49-4733-9cc1-dbe73542d014
                    message: The Agent Knowledge Base request is invalid.
                    status: 422
                    violations:
                      - estimatedValue: 14
                        limit: maxToolCalls
                        limitValue: 12
          description: >-
            - `knowledge_fs_request_rejected`：計画の見積もりが、指定した `limits` の 1
            つ以上を超えています。`violations` の各エントリは超過した上限を 1
            つ示し、`limit`（リクエストでの上限の名前）、`estimatedValue`、`limitValue`
            を含みます。見積もりが上限と等しい場合は通過します。計画をもとに決めた `limits` でも 422 が続く場合は、`limits`
            を省略し、代わりに `budgetUsd` でタスクを制限してください。
        '502':
          content:
            application/json:
              examples:
                knowledge_fs_upstream_unavailable:
                  summary: knowledge_fs_upstream_unavailable (service error)
                  value:
                    code: knowledge_fs_upstream_unavailable
                    failure:
                      action: contact_admin
                      category: internal
                      code: KNOWLEDGE_FS_INTERNAL_ERROR
                      message: >-
                        Agent Knowledge Base could not complete the operation.
                        Try again, or contact an administrator with the error
                        reference.
                      retryPolicy: manual
                      traceId: 5e2a9c17-3b4d-4f60-8a1b-2c3d4e5f6a7b
                    message: >-
                      Agent Knowledge Base could not complete the operation. Try
                      again, or contact an administrator with the error
                      reference.
                    status: 502
                knowledge_fs_upstream_unavailable_2:
                  summary: knowledge_fs_upstream_unavailable (without error details)
                  value:
                    code: knowledge_fs_upstream_unavailable
                    message: Agent Knowledge Base is unavailable.
                    status: 502
          description: >-
            - `knowledge_fs_upstream_unavailable`：時間内に応答が返らなかったか、応答を読み取れませんでした。


            タスクがすでに開始されている可能性があります。`Idempotency-Key`
            を送信していた場合は、同じキーで同じリクエストを再送信してください。新しいタスクは作成されず、元のタスクが返されます。キーを送信していなかった場合は、新しいタスクを作成する前に、同じ
            API キーで
            [リサーチタスク一覧を取得](/ja/api-reference/research-tasks/list-research-tasks)
            を呼び出してください。すべてのページをたどり、各タスクの `metadata`
            に送信した一意の値があるかを確認します。一致するタスクがあれば、その ID を保存してポーリングしてください。
        '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`
            に従ってください。

            -
            `knowledge_fs_operation_unavailable`：ナレッジベースはまだクエリを受け付ける準備ができていません。アクティブな埋め込みモデルがないか、設定が公開されていません。再試行する前に、[ナレッジベース設定を取得](/ja/api-reference/settings/get-knowledge-base-settings)
            の `capabilities.query` を確認してください。

            -
            `knowledge_fs_operation_unavailable`：このナレッジベースは従来型ナレッジベースからアップグレードされたものです。従来型ナレッジベースで無効化またはアーカイブされていたドキュメントを、まだ無効化している途中です。後で再試行してください。
components:
  schemas:
    KnowledgeBaseResearchTask:
      properties:
        budget_usd:
          description: リクエストで指定された支出上限（USD）です。設定されていない場合は `null` です。
          nullable: true
          type: number
        completed_at:
          description: >-
            タスクが `completed`、`failed`、`canceled` のいずれかに達した日時（エポックミリ秒）です。タスクの実行中は
            `null` です。
          nullable: true
          type: number
        cost:
          description: これまでに記録された支出です。
          properties:
            budgetExceeded:
              description: >-
                支出が `budgetUsd` を超え、それを理由にタスクがキャンセルされた場合は `true`
                です。それ以外の場合は含まれません。
              type: boolean
            budgetUsd:
              description: リクエストの `budgetUsd` です。予算が設定されていない場合は含まれません。
              type: number
            entries:
              description: 記録されたモデル呼び出しごとに 1 つのエントリが入り、古い順に並びます。
              items:
                properties:
                  costUsd:
                    description: 呼び出しのコスト（USD）です。
                    type: number
                  provider:
                    description: 呼び出しを処理したモデルプロバイダーです。
                    type: string
                  recordedAt:
                    description: コストが記録された日時（エポックミリ秒）です。
                    type: number
                  step:
                    description: >-
                      呼び出しを行ったステップで、`pageindex.layer`、`pageindex.semantic`、`pageindex.whole-tree`、`research.judge`、`research.plan`、`graph.plan`、`query.answer`、`query.image-expand`
                      のいずれかです。
                    type: string
                  usage:
                    description: >-
                      呼び出しのトークン使用量です。`promptTokens`、`completionTokens`、`totalTokens`、`estimated`、`reserved`、`status`（`reserved`、`succeeded`、`failed`
                      のいずれか）、`researchModelCallId`
                      を含みます。実行中の呼び出しの予約もエントリとして記録され、`totalUsd` に計上されます。
                    type: object
                type: object
              type: array
            totalUsd:
              description: '`entries[].costUsd` の合計（USD）です。最初のモデル呼び出しが記録されるまでは `0` です。'
              type: number
          type: object
        created_at:
          description: タスクの作成日時（エポックミリ秒）です。
          type: number
        error:
          description: >-
            失敗コードで、`failure.code` と同じ値です。`stage` が `failed`
            の場合にのみ設定され、それ以外の場合は、キャンセルされたタスクも含めて `null` です。


            失敗したリサーチタスクでは、`failure.code` は
            `RESEARCH_TASK_CAPABILITY_REVOKED`、`RESEARCH_TASK_DISPATCH_DEAD`、`RESEARCH_TASK_EXECUTION_ATTEMPTS_EXHAUSTED`、`RESEARCH_TASK_FAILED`、`RESEARCH_TASK_PERMISSION_SNAPSHOT_INVALID`、`RESEARCH_TASK_RUNTIME_SNAPSHOT_INVALID`
            のいずれかです。
          nullable: true
          type: string
        failure:
          description: >-
            エラー詳細です。`stage` が `failed` の場合にのみ設定され、それ以外の場合は `null`
            です。ここでは、値のないメンバーは `null` になります。`traceId` はタスク ID です。


            `action` が `retry`
            の場合は、[リサーチタスクを作成](/ja/api-reference/research-tasks/create-research-task)
            で新しいタスクを作成してください。
          nullable: true
          properties:
            action:
              description: >-
                推奨される次の対応です。ある場合は
                `configure_model`、`configure_parser`、`configure_source`、`contact_admin`、`reupload`、`retry`
                のいずれかです。該当しない場合は `null` です。
              nullable: true
              type: string
            category:
              description: >-
                失敗の種類で、`authorization`、`canceled`、`configuration`、`conflict`、`dependency`、`internal`、`not_found`、`rate_limit`、`timeout`、`validation`
                のいずれかです。
              type: string
            code:
              description: リサーチタスクの失敗コードで、このタスクの `error` と一致します。
              type: string
            message:
              description: タスクの失敗に対する公開用メッセージです。プロバイダーのエラー詳細は公開されません。
              type: string
            parameters:
              additionalProperties: true
              description: >-
                失敗の内容を補足する最大 8 個の値です。キーは
                `attempt`、`currentRowVersion`、`documentCount`、`expectedRowVersion`、`fileSizeBytes`、`limit`、`maxFileSizeBytes`、`maxItems`、`modelType`、`providerKind`、`retryAfterSeconds`、`status`
                のいずれかです。値がない場合は `null` です。
              nullable: true
              type: object
            retryPolicy:
              description: >-
                再試行で解決できるかどうかです。`automatic`（サービスが自動で再試行）、`manual`（呼び出し側で再試行）、`after_configuration`（先に
                Dify でナレッジベースの設定を修正）、`never`（リクエストを変更）のいずれかです。
              type: string
            stage:
              description: 常に `research` です。
              nullable: true
              type: string
            traceId:
              description: リサーチタスク ID です。管理者に問い合わせる際に伝えてください。
              nullable: true
              type: string
          type: object
        id:
          description: リサーチタスク ID です。タスクに対する各操作で `research_task_id` として使用します。
          type: string
        knowledge_space_id:
          description: ナレッジベースの内部 ID です。パスのナレッジベース ID とは異なります。
          type: string
        limits:
          description: >-
            リクエストで指定された制限で、キーはスネークケースです。リクエストに `limits` が含まれていなかった場合は `null`
            です。送信されなかったメンバーは `null`
            になります。[リサーチタスクを作成](/ja/api-reference/research-tasks/create-research-task)
            に再度送信する前に、キーをキャメルケースに戻してください。
          nullable: true
          properties:
            max_retrieval_steps:
              description: リクエストの `limits.maxRetrievalSteps` の値です。
              nullable: true
              type: integer
            max_scanned_resources:
              description: リクエストの `limits.maxScannedResources` の値です。
              nullable: true
              type: integer
            max_tool_calls:
              description: リクエストの `limits.maxToolCalls` の値です。
              nullable: true
              type: integer
            timeout_ms:
              description: リクエストの `limits.timeoutMs` の値です。
              nullable: true
              type: integer
          type: object
        metadata:
          description: 作成時に送信された `metadata` オブジェクトです。`__knowledgeFs` で始まるキーは除かれます。
          type: object
        mode:
          description: タスクの検索の深度で、`fast`、`deep`、`research` のいずれかです。
          nullable: true
          type: string
        query:
          description: 保存されたとおりのリサーチの質問です。
          type: string
        query_images:
          description: 元のクエリで使用された画像です。テキストのみのクエリでは省略されます。
          items:
            properties:
              byte_size:
                description: この API では常に `null` です。
                minimum: 0
                nullable: true
                type: integer
              mime_type:
                description: この API では常に `null` です。
                nullable: true
                type: string
              name:
                description: この API では常に `null` です。
                nullable: true
                type: string
              preview_url:
                description: この API では常に `null` です。
                nullable: true
                type: string
              upload_file_id:
                description: 元のクエリで使用された画像ファイルの ID です。
                type: string
            required:
              - upload_file_id
            type: object
          type: array
        stage:
          description: >-
            ライフサイクル上でのタスクの現在位置です。タスクは 1 段階ずつ進みます：


            - `queued`：受け付け済みで、ワーカーを待っています。

            - `planning`：検索計画を決定しています。

            - `retrieving`：ナレッジベースを検索しています。検索のチェックポイントが書き込まれることがあります。

            - `analyzing`：検索されたチャンクを読み、評価しています。

            - `generating`：回答を作成しています。最終結果はこの段階で書き込まれます。

            - `completed`：完了しました。結果は
            [リサーチタスクの結果一覧を取得](/ja/api-reference/research-tasks/list-research-task-results)
            で取得します。

            - `failed`：エラーで停止しました。`error` と `failure` を参照してください。

            -
            `canceled`：[リサーチタスクをキャンセル](/ja/api-reference/research-tasks/cancel-research-task)
            または予算によって停止しました。

            - `paused`：タスクは一時停止中です。失敗の詳細をデプロイ環境の運用担当者に確認するか、タスクをキャンセルしてください。


            `completed`、`failed`、`canceled` は最終状態です。
          type: string
        top_k:
          description: >-
            検索結果をマージしてリランクした後に残すチャンクの最大数です。リクエストの `topK`、または省略時はナレッジベースの **トップ
            K** の値です。
          nullable: true
          type: integer
        updated_at:
          description: タスクレコードの最終更新日時（エポックミリ秒）です。内部のチェックポイントや再試行のスケジュール設定による更新も含みます。
          type: number
      type: object
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: API_KEY
      description: >-
        すべてのリクエストは API キーで認証します：`Authorization: Bearer
        {API_KEY}`。アプリのエンドポイントにはアプリの API キーを、ナレッジのエンドポイントにはナレッジベースの API
        キーを使用します（[Dify API クイックスタート](/ja/api-reference/guides/get-started)）。


        キーはサーバーサイドで保管し、クライアントコードには決して埋め込まないでください。キーが欠落または無効なリクエストは HTTP
        `401`（`unauthorized`）で失敗します。
      scheme: bearer
      type: http

````

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