---
title: "List a project's milestone versions"
method: GET
path: "/projects/{project_id}/versions"
tags: ["project-versions"]
---

# List a project's milestone versions

`GET /projects/{project_id}/versions`

Return the open milestone and the frozen/abandoned history.

Args:
    project_id: Project to read.
    auth: Authenticated caller.

Returns:
    The current milestone, then history newest first.

## Path parameters

- `project_id` string, uuid, required

## Response `200`

Successful Response

- ProjectVersionListResponse — Every milestone of a project, current first then history.
  - `current` ProjectVersionResponse — A single project milestone.
    - `id` string, required
    - `project_id` string, required
    - `team_id` string, required
    - `version_number` integer, required
    - `status` 'current' | 'frozen' | 'abandoned', required — Lifecycle of a project milestone version (EDD section 9.1).
    - `objective` string, nullable, required
    - `carryover_summary` string, required
    - `champion` ChampionRef, required — What a milestone settled on, as exactly one populated target.
      - `training_job_id` string, nullable — Fine-tune chosen as champion.
      - `base_model` string, nullable — Catalog base model chosen as champion.
    - `created_by` string, required
    - `closed_by` string, nullable, required
    - `closed_at` string, date-time, nullable, required
    - `created_at` string, date-time, required
  - `history` ProjectVersionResponse[] — Frozen and abandoned milestones, newest first. Read-only.
    - `id` string, required
    - `project_id` string, required
    - `team_id` string, required
    - `version_number` integer, required
    - `status` 'current' | 'frozen' | 'abandoned', required — Lifecycle of a project milestone version (EDD section 9.1).
    - `objective` string, nullable, required
    - `carryover_summary` string, required
    - `champion` ChampionRef, required — What a milestone settled on, as exactly one populated target.
      - `training_job_id` string, nullable — Fine-tune chosen as champion.
      - `base_model` string, nullable — Catalog base model chosen as champion.
    - `created_by` string, required
    - `closed_by` string, nullable, required
    - `closed_at` string, date-time, nullable, required
    - `created_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/pioneer/apis/brain-api.md) · [All operations](https://skmtc.net/pioneer/apis/brain-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pioneer/brain-api/revisions/b92f75fd3b61/schema)
