---
title: "Retrieve Task Run Result"
method: GET
path: "/v1/tasks/runs/{run_id}/result"
tags: ["Tasks"]
---

# Retrieve Task Run Result

`GET /v1/tasks/runs/{run_id}/result`

Retrieves a run result by run_id, blocking until the run is completed.

## Path parameters

- `run_id` string, required

## Query parameters

- `timeout` integer

## Headers

- `parallel-beta` string, nullable

## Response `200`

Successful Response

- TaskRunResult — Result of a task run.
  - `run` TaskRun, required — Status of a task run.
    - `run_id` string, required — ID of the task run.
    - `interaction_id` string, required — Identifier for this interaction. Pass this value as `previous_interaction_id` to reuse context for a future request.
    - `status` 'queued' | 'action_required' | 'running' | 'completed' | 'failed' | 'cancelling' | 'cancelled', required — Status of the run.
    - `is_active` boolean, required — Whether the run is currently active, i.e. status is one of {'cancelling', 'queued', 'running'}.
    - `warnings` Warning[], nullable — Warnings for the run, if any.
      - `type` 'spec_validation_warning' | 'input_validation_warning' | 'warning', required — Type of warning. Note that adding new warning types is considered a backward-compatible change.
      - `message` string, required — Human-readable message.
      - `detail` object, nullable — Optional detail supporting the warning.
    - `error` Error — An error message.
      - `ref_id` string, required — Reference ID for the error.
      - `message` string, required — Human-readable message.
      - `detail` object, nullable — Optional detail supporting the error.
    - `processor` string, required — Processor used for the run.
    - `metadata` object, nullable — User-provided metadata stored with the run.
    - `taskgroup_id` string, nullable — ID of the taskgroup to which the run belongs.
    - `created_at` string, nullable, required — Timestamp of the creation of the task, as an RFC 3339 string.
    - `modified_at` string, nullable, required — Timestamp of the last modification to the task, as an RFC 3339 string.
  - `output` union, required — Output from the task conforming to the output schema.
    - TaskRunTextOutput — Output from a task that returns text.
      - `basis` FieldBasis[], required — Basis for the output. The basis has a single field 'output'.
        - `field` string, required — Name of the output field.
        - `citations` Citation[] — List of citations supporting the output field.
          - `title` string, nullable — Title of the citation.
          - `url` string, required — URL of the citation.
          - `excerpts` string[], nullable — Excerpts from the citation supporting the output. Only certain processors provide excerpts.
        - `reasoning` string, required — Reasoning for the output field.
        - `confidence` string, nullable — Confidence level for the output field. Only certain processors provide confidence levels.
      - `type` 'text', required — The type of output being returned, as determined by the output schema of the task spec.
      - `mcp_tool_calls` McpToolCall[], nullable — MCP tool calls made by the task.
        - `tool_call_id` string, required — Identifier for the tool call.
        - `server_name` string, required — Name of the MCP server.
        - `tool_name` string, required — Name of the tool being called.
        - `arguments` string, required — Arguments used to call the MCP tool.
        - `content` string, nullable — Output received from the tool call, if successful.
        - `error` string, nullable — Error message if the tool call failed.
      - `beta_fields` object, nullable — Deprecated. mcp-server-2025-07-17 is now included directly in the output (e.g. mcp_tool_calls).
      - `content` string, required — Text output from the task.
    - TaskRunJsonOutput — Output from a task that returns JSON.
      - `basis` FieldBasis[], required — Basis for each top-level field in the JSON output. Per-list-element basis entries are available only when the `parallel-beta: field-basis-2025-11-25` header is supplied.
        - `field` string, required — Name of the output field.
        - `citations` Citation[] — List of citations supporting the output field.
          - `title` string, nullable — Title of the citation.
          - `url` string, required — URL of the citation.
          - `excerpts` string[], nullable — Excerpts from the citation supporting the output. Only certain processors provide excerpts.
        - `reasoning` string, required — Reasoning for the output field.
        - `confidence` string, nullable — Confidence level for the output field. Only certain processors provide confidence levels.
      - `type` 'json', required — The type of output being returned, as determined by the output schema of the task spec.
      - `mcp_tool_calls` McpToolCall[], nullable — MCP tool calls made by the task.
        - `tool_call_id` string, required — Identifier for the tool call.
        - `server_name` string, required — Name of the MCP server.
        - `tool_name` string, required — Name of the tool being called.
        - `arguments` string, required — Arguments used to call the MCP tool.
        - `content` string, nullable — Output received from the tool call, if successful.
        - `error` string, nullable — Error message if the tool call failed.
      - `beta_fields` object, nullable — Deprecated. mcp-server-2025-07-17 is now included directly in the output (e.g. mcp_tool_calls).
      - `content` object, required — Output from the task as a native JSON object, as determined by the output schema of the task spec.
      - `output_schema` object, nullable — Output schema for the Task Run. Populated only if the task was executed with an auto schema.

## Other responses

- `401` — Unauthorized: invalid or missing credentials
- `404` — Run failed or run id not found
- `408` — Request timed out; run still active
- `422` — Request validation error

## Changes

> 21 revisions in range; 2 could not be searched.

- **2026-04-21** `57e1c56be094` — 7 info
  - api tag `Tasks` added
  - api tag `Tasks v1` removed
  - added the new optional `header` request parameter `parallel-beta`
  - added the optional property `output/oneOf[subschema #1: TaskRunTextOutput]/mcp_tool_calls` to the response with the `200` status
  - …3 more
- **2026-03-09** `970b780e8649` — 1 info
  - added the required property `run/interaction_id` to the response with the `200` status
- **2026-01-13** `105d778ad64d` — 5 breaking, 33 info
  - the `error` response's property type/format changed from ``/`` to `object`/`` for status `401`
  - the `error` response's property type/format changed from ``/`` to `object`/`` for status `404`
  - the `error` response's property type/format changed from ``/`` to `object`/`` for status `408`
  - the `error` response's property type/format changed from ``/`` to `object`/`` for status `422`
  - …34 more
- **2025-11-06** `a2d634b57a8e` — 2 info
  - api tag `Tasks v1` added
  - api tag `Task API v1` removed
- …earlier changes not shown

[Full history](https://skmtc.dev/parallel-web/apis/parallel-api/changes/v1/tasks/runs/:run_id/result/get.md)

---

[API](https://skmtc.dev/parallel-web/apis/parallel-api.md) · [All operations](https://skmtc.dev/parallel-web/apis/parallel-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/parallel-web/parallel-api/revisions/1595294c8795/schema)
