List project milestones
Returns all active execution milestones for a project, ordered by delivery phase, critical path status, and creation date. Each milestone embeds lightweight phase context to avoid a second round-trip. Supports filtering by milestone_type (lane or program).
GET
/api/v1/projects/:id/milestonesAuthorization
projects:readapi key scoperequiredRequired scope when calling with an API key.
project:timeline_readsession capabilityoptionalRequired capability when calling with a signed-in session.
Path parameters
idstringrequiredProject ID
Example: proj_abc123
Query parameters
milestone_typestringoptionalFilter by type: lane or program
Example: lane
Request
curl -X GET "https://www.digitalstack360.com/api/v1/projects/proj_abc123/milestones" \
-H "Authorization: Bearer $DS_API_KEY"Examples use a placeholder key from your environment. Store your key in $DS_API_KEY — never commit it.
Response
200 OK
{
"data": [
{
"id": "milestone-uuid-1",
"project_id": "proj_abc123",
"name": "Frontend Launch",
"milestone_type": "lane",
"on_critical_path": true,
"has_convergence": false,
"delivery_phase_id": "phase-uuid-2",
"phase": {
"id": "phase-uuid-2",
"status": "in_progress",
"slug": "design-prototyping"
},
"workstream_id": "ws-uuid-1",
"stream_id": "stream-uuid-1",
"created_at": "2026-01-01T00:00:00.000Z"
},
{
"id": "milestone-uuid-2",
"project_id": "proj_abc123",
"name": "API Integration Complete",
"milestone_type": "program",
"on_critical_path": false,
"has_convergence": true,
"delivery_phase_id": null,
"phase": null,
"workstream_id": null,
"stream_id": null,
"created_at": "2026-01-02T00:00:00.000Z"
}
]
}Errors
401
missing_authNo credentials provided
401
invalid_api_keyAPI key is invalid or revoked
403
scope_insufficientKey lacks projects:read scope
400
bad_requestInvalid milestone_type value
404
not_foundProject not found or not in your workspace