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

# List Research Task Results

> Lists the results a research task has written so far, in ascending `sequence`.

A task writes at most two results: a retrieval checkpoint when available, followed by a final result. Check the last result for `answer`. A task that stops early may have no results.

For the plan, create, poll, and read flow, see [Run a Research Task](/en/api-reference/guides/knowledge-base#run-a-research-task).



## OpenAPI

````yaml /en/api-reference/openapi_service.json get /knowledge-fs/spaces/{knowledge_base_id}/research-tasks/{research_task_id}/partials
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
  - description: Ask a knowledge base a question and stream the answer.
    name: Queries
  - description: Inspect what a query retrieved and why.
    name: Query Records
  - description: Run a research question in the background and collect its results.
    name: Research Tasks
  - description: >-
      Read the documents in a knowledge base, their files, revisions, and
      chunks; label documents with metadata.
    name: Documents and Chunks
  - description: >-
      Follow, cancel, or retry indexing, and list the knowledge base's
      background tasks.
    name: Indexing Tasks
  - description: >-
      Follow the deletion of a document file, a batch of files, or a source
      until it finishes.
    name: Deletion Jobs
  - description: >-
      Manage the sources that feed a knowledge base, their sync schedules, and
      their connections.
    name: Sources
  - description: >-
      Sync a source now, import website pages or provider items, and follow,
      cancel, or retry the runs.
    name: Source Syncs and Imports
  - description: >-
      Read and change the knowledge base's models and retrieval settings, and
      follow the migration a change starts.
    name: Settings
paths:
  /knowledge-fs/spaces/{knowledge_base_id}/research-tasks/{research_task_id}/partials:
    get:
      tags:
        - Research Tasks
      summary: List Research Task Results
      description: >-
        Lists the results a research task has written so far, in ascending
        `sequence`.


        A task writes at most two results: a retrieval checkpoint when
        available, followed by a final result. Check the last result for
        `answer`. A task that stops early may have no results.


        For the plan, create, poll, and read flow, see [Run a Research
        Task](/en/api-reference/guides/knowledge-base#run-a-research-task).
      operationId: listResearchTaskResults
      parameters:
        - description: >-
            Knowledge base ID: the last segment of the Service API endpoint
            shown in the knowledge base's **API Access** dialog
            (`…/knowledge-fs/spaces/<knowledge base ID>`), and the segment after
            `/datasets/new/` in the address bar.
          in: path
          name: knowledge_base_id
          required: true
          schema:
            format: uuid
            type: string
        - description: >-
            Research task ID. From [Create Research
            Task](/en/api-reference/research-tasks/create-research-task).
          in: path
          name: research_task_id
          required: true
          schema:
            format: uuid
            type: string
        - description: 'Opaque cursor: send the previous page''s `next_cursor` unchanged.'
          in: query
          name: cursor
          required: false
          schema:
            maxLength: 1000
            minLength: 1
            type: string
        - description: Entries per page.
          in: query
          name: limit
          required: false
          schema:
            default: 25
            maximum: 100
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              examples:
                success:
                  summary: Response Example
                  value:
                    data:
                      - answer: null
                        evidence_bundle:
                          createdAt: '2026-09-06T08:00:10.000Z'
                          id: 9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d
                          items:
                            - citations:
                                - documentAssetId: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d
                                  documentVersion: 1
                                  pageNumber: 2
                                  sectionPath:
                                    - Policies
                                    - Refunds
                              conflicts: []
                              freshness:
                                sourceUpdatedAt: '2026-08-30T09:12:00.000Z'
                                status: fresh
                              metadata: {}
                              nodeId: 5d4c3b2a-1f0e-4d9c-8b7a-6f5e4d3c2b1a
                              score: 0.82
                              scores:
                                final: 0.82
                                rerank: 0.85
                                retrieval: 0.71
                              text: >-
                                From 1 March 2025, refunds are issued within 14
                                days of the return being received. The previous
                                window was 30 days.
                            - citations:
                                - documentAssetId: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d
                                  documentVersion: 1
                                  pageNumber: 3
                                  sectionPath:
                                    - Policies
                                    - Refunds
                                    - Regional exceptions
                              conflicts: []
                              freshness:
                                sourceUpdatedAt: '2026-08-30T09:12:00.000Z'
                                status: fresh
                              metadata: {}
                              nodeId: c3b2a1f0-e9d8-4c7b-8a6f-5e4d3c2b1a09
                              score: 0.77
                              scores:
                                final: 0.77
                                rerank: 0.8
                                retrieval: 0.66
                              text: >-
                                The 14-day window applies to orders shipped to
                                the EU and the UK. Other regions keep the 30-day
                                window until further notice.
                          missingEvidence: []
                          query: >-
                            What changed in the 2025 refund policy, and which
                            regions are affected?
                          state: partial
                        knowledge_space_id: b2f1d3a4-5e6c-4a7b-8c9d-0e1f2a3b4c5d
                        research_task_job_id: e4d1b7a2-3c5f-4d8e-9a0b-1c2d3e4f5a6b
                        sequence: 1
                      - answer: >-
                          The 2025 policy shortened the refund window from 30
                          days to 14 days after the return is received,
                          effective 1 March 2025. The change applies to orders
                          shipped to the EU and the UK; other regions keep the
                          30-day window.
                        evidence_bundle:
                          createdAt: '2026-09-06T08:00:41.000Z'
                          id: 1f2e3d4c-5b6a-4978-8a7b-6c5d4e3f2a1b
                          items:
                            - citations:
                                - artifactHash: >-
                                    9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
                                  documentAssetId: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d
                                  documentVersion: 1
                                  endOffset: 1978
                                  pageNumber: 2
                                  sectionPath:
                                    - Policies
                                    - Refunds
                                  startOffset: 1840
                              conflicts:
                                - reason: >-
                                    States a 14-day window while another chunk
                                    keeps 30 days for some regions.
                                  severity: info
                                  withNodeId: c3b2a1f0-e9d8-4c7b-8a6f-5e4d3c2b1a09
                              freshness:
                                observedAt: '2026-09-06T08:00:12.000Z'
                                sourceUpdatedAt: '2026-08-30T09:12:00.000Z'
                                status: fresh
                              metadata: {}
                              nodeId: 5d4c3b2a-1f0e-4d9c-8b7a-6f5e4d3c2b1a
                              score: 0.82
                              scores:
                                final: 0.82
                                freshness: 0.9
                                rerank: 0.85
                                retrieval: 0.71
                              text: >-
                                From 1 March 2025, refunds are issued within 14
                                days of the return being received. The previous
                                window was 30 days.
                            - citations:
                                - documentAssetId: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d
                                  documentVersion: 1
                                  pageNumber: 3
                                  sectionPath:
                                    - Policies
                                    - Refunds
                                    - Regional exceptions
                              conflicts: []
                              freshness:
                                observedAt: '2026-09-06T08:00:12.000Z'
                                sourceUpdatedAt: '2026-08-30T09:12:00.000Z'
                                status: fresh
                              metadata: {}
                              nodeId: c3b2a1f0-e9d8-4c7b-8a6f-5e4d3c2b1a09
                              score: 0.77
                              scores:
                                final: 0.77
                                freshness: 0.9
                                rerank: 0.8
                                retrieval: 0.66
                              text: >-
                                The 14-day window applies to orders shipped to
                                the EU and the UK. Other regions keep the 30-day
                                window until further notice.
                          missingEvidence:
                            - expectedEvidenceId: 7e6d5c4b-3a29-4180-9f8e-7d6c5b4a3928
                              metadata: {}
                              reason: not-retrieved
                              text: >-
                                No chunk lists the effective date for regions
                                outside the EU and the UK.
                          query: >-
                            What changed in the 2025 refund policy, and which
                            regions are affected?
                          retrievalQuery: >-
                            2025 refund policy changes refund window regions
                            affected
                          state: answerable
                        knowledge_space_id: b2f1d3a4-5e6c-4a7b-8c9d-0e1f2a3b4c5d
                        research_task_job_id: e4d1b7a2-3c5f-4d8e-9a0b-1c2d3e4f5a6b
                        sequence: 2
                    next_cursor: null
              schema:
                properties:
                  data:
                    description: Results in ascending `sequence`.
                    items:
                      properties:
                        answer:
                          description: >-
                            The task's answer. Set only on the final result, and
                            `null` on the retrieval checkpoint.
                          nullable: true
                          type: string
                        evidence_bundle:
                          description: >-
                            Retrieved chunks the task had collected when this
                            result was written.


                            An item whose document file was deleted after
                            retrieval comes back as a placeholder:


                            - `text` is `Evidence deleted or unavailable`.

                            - `citations[]` keep only `documentAssetId`,
                            `documentVersion`, and an empty `sectionPath`.

                            - `conflicts` is empty.

                            - `freshness.status` is `unknown`.

                            - `metadata.traceEvidenceAvailability` is
                            `{"status": "unavailable", "reason":
                            "document-deleted-or-unavailable"}`.
                          properties:
                            createdAt:
                              description: ISO 8601 timestamp when the bundle was written.
                              type: string
                            id:
                              description: ID of this bundle of retrieved chunks.
                              type: string
                            items:
                              description: >-
                                Retrieved chunks with their scores and
                                citations, best first.
                              items:
                                properties:
                                  citations:
                                    description: >-
                                      Where the chunk comes from. At least one
                                      per item.
                                    items:
                                      description: >-
                                        Offsets refer to the parsed document
                                        text. They are not positions in the
                                        original file or the answer.
                                      properties:
                                        artifactHash:
                                          description: >-
                                            SHA-256 of the document file the
                                            citation points to. Absent when not
                                            recorded.
                                          type: string
                                        documentAssetId:
                                          description: >-
                                            Document file ID. Read the file's name
                                            with [Get Document
                                            File](/en/api-reference/documents-and-chunks/get-document-file).
                                            To find its document, pass it with
                                            `documentVersion` to [Get Document by
                                            File](/en/api-reference/documents-and-chunks/get-document-by-file).
                                          type: string
                                        documentVersion:
                                          description: >-
                                            The document file's `version` at
                                            retrieval time.
                                          type: integer
                                        endOffset:
                                          description: >-
                                            Zero-based UTF-8 byte offset in the
                                            parsed document text. Exclusive end.
                                            Omitted when unavailable.
                                          type: integer
                                        pageNumber:
                                          description: >-
                                            Page number, starting at 1, when the
                                            source provides page information.
                                            Omitted otherwise.
                                          type: integer
                                        sectionPath:
                                          description: >-
                                            Section headings from the document root
                                            to the cited section.
                                          items:
                                            type: string
                                          type: array
                                        startOffset:
                                          description: >-
                                            Zero-based UTF-8 byte offset in the
                                            parsed document text. Inclusive start.
                                            Omitted when unavailable.
                                          type: integer
                                      type: object
                                    type: array
                                  conflicts:
                                    description: >-
                                      Disagreements between this chunk and other
                                      retrieved chunks. Empty when none.
                                    items:
                                      properties:
                                        reason:
                                          description: What the conflict is about.
                                          type: string
                                        severity:
                                          description: '`info`, `warning`, or `blocking`.'
                                          type: string
                                        withNodeId:
                                          description: >-
                                            `nodeId` of the chunk this one conflicts
                                            with. Absent when the conflict is not
                                            tied to one chunk.
                                          type: string
                                      type: object
                                    type: array
                                  freshness:
                                    description: How current the cited content is.
                                    properties:
                                      observedAt:
                                        description: >-
                                          ISO 8601 timestamp when the content was
                                          last seen. Absent when unknown.
                                        type: string
                                      sourceUpdatedAt:
                                        description: >-
                                          ISO 8601 timestamp of the source's last
                                          update. Absent when unknown.
                                        type: string
                                      status:
                                        description: '`fresh`, `stale`, or `unknown`.'
                                        type: string
                                    type: object
                                  metadata:
                                    description: >-
                                      Additional item details. Carries
                                      `traceEvidenceAvailability` on placeholder
                                      items.
                                    type: object
                                  nodeId:
                                    description: ID of the retrieved chunk.
                                    type: string
                                  score:
                                    description: >-
                                      Overall relevance from `0` to `1`. The
                                      same value as `scores.final`.
                                    type: number
                                  scores:
                                    description: Score breakdown, each from `0` to `1`.
                                    properties:
                                      final:
                                        description: Combined score used for ranking.
                                        type: number
                                      freshness:
                                        description: >-
                                          Score for how recent the source is.
                                          Absent when not computed.
                                        type: number
                                      rerank:
                                        description: >-
                                          Score from the rerank model. Absent when
                                          reranking did not run.
                                        type: number
                                      retrieval:
                                        description: Score from vector and keyword search.
                                        type: number
                                    type: object
                                  text:
                                    description: Chunk text.
                                    type: string
                                type: object
                              type: array
                            missingEvidence:
                              description: >-
                                Chunks the run expected but could not use. Empty
                                when none.
                              items:
                                properties:
                                  expectedEvidenceId:
                                    description: ID of the expected chunk, when known.
                                    type: string
                                  metadata:
                                    description: Additional details.
                                    type: object
                                  reason:
                                    description: >-
                                      `not-retrieved`, `permission-filtered`,
                                      `stale`, `conflict`, or `unknown`.
                                    type: string
                                  text:
                                    description: What was missing.
                                    type: string
                                type: object
                              type: array
                            query:
                              description: The research question.
                              type: string
                            retrievalQuery:
                              description: >-
                                The query text actually sent to retrieval when
                                it differs from `query`. Absent otherwise.
                              type: string
                            state:
                              description: >-
                                How well the retrieved chunks support an answer:
                                `partial` (the retrieval checkpoint, before
                                analysis runs), `answerable`,
                                `not-enough-evidence`, `conflict` (sources
                                disagree), or `permission-limited` (permissions
                                kept some chunks out).
                              type: string
                            traceId:
                              description: >-
                                ID of the run that produced the bundle, when one
                                was recorded. A research task is not recorded as
                                a query record, so [Get Query
                                Record](/en/api-reference/query-records/get-query-record)
                                does not take this ID.
                              type: string
                          type: object
                        knowledge_space_id:
                          description: >-
                            Internal ID of the knowledge base. Not the knowledge
                            base ID in the path.
                          type: string
                        research_task_job_id:
                          description: The research task ID.
                          type: string
                        sequence:
                          description: >-
                            Position of the result within the task, starting at
                            `1`.
                          type: integer
                      type: object
                    type: array
                  next_cursor:
                    description: >-
                      Cursor for the next page, or `null` on the last page. Send
                      it back as `cursor`.
                    nullable: true
                    type: string
                type: object
          description: One page of results.
        '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:
                          - limit
                        type: less_than_equal
                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`: the request failed validation.
            `violations` names each failing field.

            - `knowledge_fs_invalid_request`: the query string carries a
            parameter this operation does not accept.

            - `knowledge_fs_invalid_request`: `research_task_id` is malformed.
        '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`: the `Authorization` header is missing, or the key
            is unknown or not a knowledge base API key.

            - `knowledge_fs_invalid_credential`: the key is valid, but no
            knowledge base with this ID exists in the key's workspace, or the
            key is not tied to a workspace.
        '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
                knowledge_fs_access_denied_2:
                  summary: knowledge_fs_access_denied (other knowledge base)
                  value:
                    code: knowledge_fs_access_denied
                    failure:
                      action: contact_admin
                      category: authorization
                      code: KNOWLEDGE_FS_ACCESS_DENIED
                      message: >-
                        You do not have permission to perform this Agent
                        Knowledge Base operation.
                      retryPolicy: never
                      traceId: 602b9b60-6564-4ba7-8b59-54312d41377c
                    message: >-
                      You do not have permission to perform this Agent Knowledge
                      Base operation.
                    status: 403
          description: >-
            - `knowledge_fs_access_denied`: the key is scoped to other knowledge
            bases, **API access** is off for this knowledge base, or the
            knowledge base is not active.

            - `knowledge_fs_access_denied`: the task belongs to a different
            knowledge base than the one in the path.

            - `forbidden`: on Dify Cloud, the workspace has reached the
            knowledge base request rate limit of its subscription. Every call
            counts, reads included.
        '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: ca5eb2d9-4242-4950-877c-6c5207b1441e
                    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`: the task does not exist,
            belongs to another workspace, or its knowledge base is being
            deleted.

            - `not_found`: the Agent Knowledge Base feature is turned off on
            this deployment.
        '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
          description: >-
            - `knowledge_fs_upstream_unavailable`: no answer came back in time,
            or the answer couldn't be read. Retry after a pause.
        '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`: the Agent Knowledge Base
            feature is not set up for this workspace, this operation is not
            available on the deployment, or the key's access to this knowledge
            base changed while the request was being authorized.

            - `knowledge_fs_operation_unavailable`: the request can't be served
            right now. Follow `failure.retryPolicy`.

            - `knowledge_fs_operation_unavailable`: the knowledge base was
            upgraded from a classic knowledge base and is still disabling the
            documents that were disabled or archived there. Retry later.
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

````

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