---
title: "Read Agent Run"
method: GET
path: "/agent/runs/{run_id}"
tags: ["Agents"]
---

# Read Agent Run

`GET /agent/runs/{run_id}`

## Request

- Base URL: `https://foresea.ink` (the document declares no server; this is the origin it was published from)
- URL: `https://foresea.ink/agent/runs/{run_id}`
- Auth: none declared

Read one private research run, including its completed report when available.

## Path parameters

- `run_id` string, required

## Response `200`

Successful Response

- AgentRunResponse: Full private run record, including the safe input snapshot and report.
  - `id` string, required
  - `status` 'running' | 'completed' | 'failed' | 'interrupted', required
  - `title` string, required
  - `question` string, required
  - `platform` string, nullable
  - `recommendation` string, nullable
  - `model_probability` number, nullable
  - `market_probability` number, nullable
  - `edge` number, nullable
  - `agent_profile` AgentProfileReference: The profile snapshot that shaped one agent report, without private context.
    - `id` string, required
    - `source_agent_id` string, required
    - `model` string, required
    - `version` integer, required
    - `execution_mode` 'research_only', required
  - `has_live_trade_intent` boolean
  - `timeline` AgentRunTimelineEvent[]
    - `at` string, required
    - `phase` string, required
    - `status` 'running' | 'completed' | 'failed' | 'interrupted', required
    - `detail` string, required
  - `created_at` string, required
  - `updated_at` string, required
  - `completed_at` string, nullable
  - `error_code` string, nullable
  - `client_run_key` string, nullable
  - `request` object
  - `report` AgentReport: End-to-end analysis of a live question produced by the agent.
    - `question` string, required
    - `served_model_name` string, nullable: Exact upstream model that served the final agent response, when reported by the provider.
    - `pipeline` string[]: Ordered steps the agent ran.
    - `platform` string, nullable
    - `market_url` string, nullable
    - `outcome` string, nullable
    - `market_probability` number, nullable
    - `model_probability` number, nullable
    - `edge` number, nullable
    - `stance` string, nullable
    - `recommendation` string, required: `buy_yes`, `buy_no`, `hold`, or `no_market_price`.
    - `recommendation_detail` string
    - `confidence` number, nullable
    - `question_type` string
    - `thesis` string
    - `evidence_sources` EvidenceSource[]
      - `source` string, required: Publisher name.
      - `title` string, nullable: Article headline.
      - `url` string, nullable: Article URL.
      - `publish_date` string, nullable: ISO 8601 publish date.
      - `relevance_score` number, nullable: Relevance to the question (0–1).
    - `evidence_error` string, nullable
    - `skills` AgentSkillResult[]
      - `name` string, required
      - `output` string, required
      - `verdict` RedTeamVerdict: Structured classification of a Red team skill's own argument, from a separate follow-up call. Observational only -- nothing in the pipeline reads this to gate or adjust the forecast.
        - `credible` boolean, required: Whether the argument is well-supported by a real mechanism or evidence, not just contrarian restating.
        - `severity` 'low' | 'medium' | 'high', required: How much this argument should weigh against the forecast if credible.
    - `grounding` string, nullable: Track-record self-calibration note applied to the forecast.
    - `effort_tier` string, nullable: How much analysis effort this question got: simple, standard, or deep.
    - `tool_transcript` object[]: Tool calls + observations when the tool loop ran.
    - `tool_loop_steps` integer, nullable: Tool-call steps the loop actually ran, when tool_loop=true.
    - `tool_loop_truncated` boolean, nullable: True if the loop hit max_tool_steps without the model giving a final answer.
    - `tool_loop_tokens_used` integer, nullable: Total estimated tokens consumed across turns.
    - `tool_loop_output_tokens_used` integer, nullable: Estimated completion/output tokens consumed in the tool loop.
    - `agent_profile` AgentProfileReference: The profile snapshot that shaped one agent report, without private context.
      - `id` string, required
      - `source_agent_id` string, required
      - `model` string, required
      - `version` integer, required
      - `execution_mode` 'research_only', required
    - `live_trade_intent` LiveTradeIntent: A chat-to-terminal handoff for a human-reviewed live order. This is deliberately not an executable order: it contains no size or limit price, and the trading terminal must still fetch a fresh venue quote, create a durable `/trading/runs` record, and receive an explicit user confirmation before an exchange order can be submitted.
      - `platform` string, required
      - `ident` string, required
      - `action` string
      - `outcome` string, required
      - `market_url` string, nullable
      - `model_probability` number, required
      - `market_probability` number, required
      - `edge` number, required
      - `recommendation` string, required
    - `agent_run` AgentRunReference: The durable, private research run that produced an agent report.
      - `id` string, required
      - `status` 'running' | 'completed' | 'failed' | 'interrupted', required
      - `created_at` string, required
      - `updated_at` string, required
  - `steps` object[]: Tool-loop steps persisted as they happened, visible even for a still-running or crashed run.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/foresea/apis/foresea-intelligence-api.md) · [All operations](https://skmtc.dev/foresea/apis/foresea-intelligence-api/llms.txt) · [OpenAPI document](https://skmtc.dev/foresea/apis/foresea-intelligence-api/revisions/b03e49f4385d?raw)
