Read a Milestone by code within the bearer Workspace
Read a Milestone by code within the bearer Workspace
GET/api/v1/cli/milestones/{milestone_code}
Resolves the code's Project key by indexed authorized lookup in the token-scoped Workspace, then uses the shared typed Milestone resolver. Includes archived Milestones and canonical Task-derived progress. ASCII casing normalizes; no generic resource dispatch, collection scan or domain write. Existing UUID and browser/native operations remain unchanged.
Path Parameters
milestone_codeRequired
string·max 29
Positive signed-64-bit Project Milestone code; numeric maximum 9223372036854775807, without whitespace, signs or leading zeros.
ExampleFRS-M1
Responses
ETag
string
Quoted decimal optimistic-concurrency version.
status_lifecycle
object
Materialized lifecycle policy of the entity's current status. Compare
stage_revision and definition_revision for staleness; behaviors
is the complete set for the entity kind, so clients never infer policy
from names or categories. Absent when the selection has no lifecycle
status. Resolved for a whole page with one batch lookup. Project list
rows carry identities and revisions only: stage_name and behaviors
are omitted there and returned by Project detail and the lifecycle
definition list.
stage_id
string | null·min 1·max 64
Optional stable Workspace Milestone stage ID. Must select an active stage whose category agrees with status; null clears the selection. An explicit legacy status update without stage_id clears a custom selection.
idRequired
string <uuid>
Opaque Assign-owned UUIDv7 identifier. Clients must not derive meaning from it.
Example0198ac5e-f9b7-7000-8000-000000000001
workspace_idRequired
string <uuid>
Opaque Assign-owned UUIDv7 identifier. Clients must not derive meaning from it.
Example0198ac5e-f9b7-7000-8000-000000000001
project_idRequired
string <uuid>
Opaque Assign-owned UUIDv7 identifier. Clients must not derive meaning from it.
Example0198ac5e-f9b7-7000-8000-000000000001
nameRequired
string·min 1·max 100
descriptionRequired
string·max 2000
due_onRequired
string <date>
statusRequired
string
Values
plannedactivecompletedcancelled
revisionRequired
integer·min 1
created_atRequired
string <date-time>
RFC 3339 timestamp in UTC.
Example2026-08-15T12:00:00Z
updated_atRequired
string <date-time>
RFC 3339 timestamp in UTC.
Example2026-08-15T12:00:00Z
archived_atRequired
string <date-time>
RFC 3339 timestamp in UTC.
Example2026-08-15T12:00:00Z
progress
object
milestone_number
string | null·max 19
Stable Project-local positive signed-64-bit number as canonical decimal text (maximum 9223372036854775807), independent of Task numbering and rank. Null or absent while a historical Milestone awaits reference backfill; never derive it client-side.
Example1
code
string | null·max 29
Canonical uppercase Project-key Milestone reference, for example FRS-M1. Stable across rename, reorder and archive/restore. Null or absent with milestone_number during historical backfill. UUID selectors and foreign keys remain authoritative; knowing a code grants no access.
ExampleFRS-M1
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
Retry-After
integer·min 1
Seconds until the client may retry.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Retry-After
integer·min 0
Delay in seconds before retrying, when an expected maintenance end is known.
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.