---
title: "Get tree generation progress"
method: GET
path: "/context-documents/tree/{tree_id}/progress"
tags: ["Context Documents"]
---

# Get tree generation progress

`GET /context-documents/tree/{tree_id}/progress`

Return the generation progress for a single tree.

Live phase/counter data comes from the Temporal workflow query. Terminal
trees and trees whose workflow is no longer queryable (e.g. completed
workflows that have aged out, cron-driven refreshes) return just the
DB-level status with no phase data.

## Path parameters

- `tree_id` string, required

## Response `200`

Successful Response

- TreeProgressResponse — Response shape for GET /context-documents/tree/{tree_id}/progress.
  - `tree_id` string, required
  - `status` string, required
  - `phase` string, nullable — Workflow phase. Values: discover, search, select, synthesize, finalize, personal, done. Null for terminal trees and trees whose workflow is no longer queryable.
  - `completed_docs` integer, nullable
  - `total_docs` integer, nullable

## Other responses

- `422` — Validation Error

## Changes

> 37 revisions in range; 1 not diffed.

- **2026-05-06** `8fc48e8b3844` — 1 warning
  - removed the optional property `message` from the response with the `200` status
- **2026-04-25** `0b9bf804b7e6` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/hyperspell/apis/hyperspell-api/changes/context-documents/tree/:tree_id/progress/get.md)

---

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