---
title: "List a project's milestones"
method: GET
path: "/projects/{id}/milestones"
---

# List a project's milestones

`GET /projects/{id}/milestones`

## Request

- Base URL: `https://craaft.io/api/v1`
- URL: `https://craaft.io/api/v1/projects/{id}/milestones`
- Auth: HTTP bearer

Ordered by dueOn ascending, then createdAt as a tie-break. Any board member may read.

## Response `200`

Milestones for the project

- Milestone[]
  - `id` string, uuid, required
  - `projectId` string, uuid, required
  - `name` string, required
  - `dueOn` string, date, required
  - `achievedAt` string, date-time, nullable
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `401`: Missing or invalid token
- `404`: Resource doesn't exist or caller isn't a member of its workspace

---

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