---
title: "Get Agent Run Result"
method: GET
path: "/v2/agents/{agent_id}/runs/{run_id}/result"
tags: ["Public API"]
---

# Get Agent Run Result

`GET /v2/agents/{agent_id}/runs/{run_id}/result`

## Request

- Base URL: `https://sdk.nimbleway.com`
- URL: `https://sdk.nimbleway.com/v2/agents/{agent_id}/runs/{run_id}/result`
- Auth: none declared

Fetch the output of a completed run. The `output` is `type: "text"` (a prose answer) or `type: "json"` (structured data matching the output schema), plus `trust` metadata with per-claim citations for the answer.

While the run is still `queued` or `running` this endpoint returns `409`; if the run `failed` or was `cancelled` it returns `422` with the run and error details.

## Path parameters

- `agent_id` string, uuid, required
- `run_id` string, required

## Response `200`

Successful Response

- union
  - TaskRunResultPublicV2
    - `output` union, required: Output from the completed task.
      - TaskRunTextOutputPublicV2
        - `content` string, required: The final prose answer.
        - `trust` TextRunTrust, required: Trust metadata for a prose answer: run-level confidence plus per-claim citations.
          - `claims` TextClaimTrust[], required: Per-claim trust, keyed by callout markers in the answer text.
            - `callout` integer, required: Callout marker number referencing this claim in the answer text.
            - `citations` TrustCitation[], required: Citations backing this claim.
              - …
            - `confidence` 'high' | 'medium' | 'low' | 'pre_existing', required
            - `reasoning` string, required: Why this confidence level was assigned.
          - `confidence` 'high' | 'medium' | 'low' | 'pre_existing', required
          - `reasoning` string, required: Why this confidence level was assigned.
          - `sources` TrustSource[], required: Sources consulted while producing the answer.
            - `extract_template_name` string, nullable: Extract template used to read the source, when one was used.
            - `source_category` 'official' | 'news' | 'social' | 'academic' | 'aggregator' | 'other': What *kind* of source this is (classified by the compress LLM), independent of TrustSourceType (how authoritative it is for a specific claim). Deliberately uses "official" rather than "primary" so the two axes can never collide. Also doubles as the sub-question's ``source_intent`` (what kind of source a question *needs*) — the two concepts overlap enough that a single enum lets ``classify_source_importance`` compare "what we got" against "what we asked for" directly.
            - `source_intent` 'official' | 'news' | 'social' | 'academic' | 'aggregator' | 'other': What *kind* of source this is (classified by the compress LLM), independent of TrustSourceType (how authoritative it is for a specific claim). Deliberately uses "official" rather than "primary" so the two axes can never collide. Also doubles as the sub-question's ``source_intent`` (what kind of source a question *needs*) — the two concepts overlap enough that a single enum lets ``classify_source_importance`` compare "what we got" against "what we asked for" directly.
            - `title` string, nullable: Title of the source page.
            - `type` 'primary' | 'secondary', required
            - `url` string, required: URL of the source page.
        - `type` 'text': Output content type.
      - TaskRunJsonOutputPublicV2
        - `content` union, required: The final structured output.
          - object
          - unknown[]
            - unknown
        - `trust` JsonRunTrust, required: Trust metadata for a structured answer: run-level confidence plus per-value citations.
          - `claims` JsonClaimTrust[], required: Per-value trust, keyed by JSON path in the structured output.
            - `citations` TrustCitation[], required: Citations backing this value.
              - …
            - `confidence` 'high' | 'medium' | 'low' | 'pre_existing', required
            - `path` string, required: JSON path of the value in the structured output this claim refers to.
            - `reasoning` string, required: Why this confidence level was assigned.
          - `confidence` 'high' | 'medium' | 'low' | 'pre_existing', required
          - `reasoning` string, required: Why this confidence level was assigned.
          - `sources` TrustSource[], required: Sources consulted while producing the answer.
            - `extract_template_name` string, nullable: Extract template used to read the source, when one was used.
            - `source_category` 'official' | 'news' | 'social' | 'academic' | 'aggregator' | 'other': What *kind* of source this is (classified by the compress LLM), independent of TrustSourceType (how authoritative it is for a specific claim). Deliberately uses "official" rather than "primary" so the two axes can never collide. Also doubles as the sub-question's ``source_intent`` (what kind of source a question *needs*) — the two concepts overlap enough that a single enum lets ``classify_source_importance`` compare "what we got" against "what we asked for" directly.
            - `source_intent` 'official' | 'news' | 'social' | 'academic' | 'aggregator' | 'other': What *kind* of source this is (classified by the compress LLM), independent of TrustSourceType (how authoritative it is for a specific claim). Deliberately uses "official" rather than "primary" so the two axes can never collide. Also doubles as the sub-question's ``source_intent`` (what kind of source a question *needs*) — the two concepts overlap enough that a single enum lets ``classify_source_importance`` compare "what we got" against "what we asked for" directly.
            - `title` string, nullable: Title of the source page.
            - `type` 'primary' | 'secondary', required
            - `url` string, required: URL of the source page.
        - `type` 'json': Output content type.
    - `run` TaskRunResponsePublicV2, required
      - `completed_at` string, date-time, nullable: When the run completed.
      - `created_at` string, date-time, required: When the run was created.
      - `effort` 'low' | 'medium' | 'high' | 'x-high' | '5x-high' | 'max', required: Canonical effort tier names for the research graph.
      - `error` TaskRunErrorPublicV2
        - `message` string, required: Human-readable error description.
        - `ref_id` string, required: Reference ID (equals the run id).
      - `id` string, required: Run identifier, format "task_run_{uuid}".
      - `interaction_id` string, required: Interaction ID.
      - `is_active` boolean, required: True while status is 'queued' or 'running'.
      - `prompt` string, nullable: Prompt submitted for the run.
      - `started_at` string, date-time, nullable: When the run started executing.
      - `status` 'queued' | 'running' | 'completed' | 'failed' | 'cancelled', required: Lowercase status values used in API responses (distinct from the DB-level TaskRunStatus enum).
      - `web_search_agent_id` string, required: Web Search Agent instance this run belongs to.
  - TaskRunFailedResultPublicV2
    - `error` TaskRunErrorPublicV2, required
      - `message` string, required: Human-readable error description.
      - `ref_id` string, required: Reference ID (equals the run id).
    - `run` TaskRunResponsePublicV2, required
      - `completed_at` string, date-time, nullable: When the run completed.
      - `created_at` string, date-time, required: When the run was created.
      - `effort` 'low' | 'medium' | 'high' | 'x-high' | '5x-high' | 'max', required: Canonical effort tier names for the research graph.
      - `error` TaskRunErrorPublicV2
        - `message` string, required: Human-readable error description.
        - `ref_id` string, required: Reference ID (equals the run id).
      - `id` string, required: Run identifier, format "task_run_{uuid}".
      - `interaction_id` string, required: Interaction ID.
      - `is_active` boolean, required: True while status is 'queued' or 'running'.
      - `prompt` string, nullable: Prompt submitted for the run.
      - `started_at` string, date-time, nullable: When the run started executing.
      - `status` 'queued' | 'running' | 'completed' | 'failed' | 'cancelled', required: Lowercase status values used in API responses (distinct from the DB-level TaskRunStatus enum).
      - `web_search_agent_id` string, required: Web Search Agent instance this run belongs to.

## Other responses

- `422`: Validation Error

## Changes

- **2026-08-17** `22c2a2291146`: 2 warning
  - added the new `5x-high` enum value to the `anyOf[subschema #1: TaskRunResultPublicV2]/run/effort` response property for the response status `200`
  - added the new `5x-high` enum value to the `anyOf[subschema #2: TaskRunFailedResultPublicV2]/run/effort` response property for the response status `200`
- **2026-07-20** `d4e4f170f4f4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nimbleway/apis/api-gateway/changes/v2/agents/:agent_id/runs/:run_id/result/get.md)

---

[API](https://skmtc.dev/nimbleway/apis/api-gateway.md) - [All operations](https://skmtc.dev/nimbleway/apis/api-gateway/llms.txt) - [OpenAPI document](https://skmtc.dev/nimbleway/apis/api-gateway/revisions/167c81181daa?raw)
