SpedySpedy Docs

Milestones

Plan and track progress with milestones on boards.

Milestones group tickets around a goal or deadline. Each milestone tracks progress by aggregating the status of its assigned tickets. Milestones require the Milestones & Releases feature to be enabled on the board.

List Milestones

GET /api/v1/boards/{boardId}/milestones

Permission required: milestones:view

Query Parameters

ParameterTypeRequiredDescription
includeDeletedbooleanNoInclude soft-deleted milestones
sortBystringNoSort field
sortOrderstringNoasc or desc

Example Response

[
  {
    "id": "ms_abc123",
    "name": "v2.0 Launch",
    "description": "Major platform release",
    "dueDate": "2025-06-01T00:00:00Z",
    "color": "#8B5CF6",
    "progress": {
      "total": 12,
      "completed": 8,
      "percentage": 67
    },
    "createdAt": "2025-01-15T10:00:00Z"
  }
]

Create Milestone

POST /api/v1/boards/{boardId}/milestones

Permission required: milestones:create

Request Body

FieldTypeRequiredDescription
namestringYesMilestone name (max 200 characters, unique per board)
descriptionstringNoMilestone description
dueDatestringYesDue date (ISO 8601)
colorstringNoColor in hex format (e.g. #8B5CF6)
sortOrdernumberNoDisplay order

Example Request

{
  "name": "v2.0 Launch",
  "description": "Major platform release",
  "dueDate": "2025-06-01T00:00:00Z",
  "color": "#8B5CF6"
}

Get Milestone

GET /api/v1/boards/{boardId}/milestones/{milestoneId}

Permission required: milestones:view

Returns a milestone with progress information.

Update Milestone

PATCH /api/v1/boards/{boardId}/milestones/{milestoneId}

Permission required: milestones:edit

Request Body

FieldTypeRequiredDescription
namestringNoMilestone name
descriptionstringNoMilestone description
dueDatestringNoDue date (ISO 8601)
colorstringNoColor in hex format

Delete Milestone

DELETE /api/v1/boards/{boardId}/milestones/{milestoneId}

Permission required: milestones:delete

Soft-deletes the milestone. Returns 204 No Content.

Get Milestone Tickets

GET /api/v1/boards/{boardId}/milestones/{milestoneId}/tickets

Permission required: milestones:view

Returns all tickets assigned to a milestone.

Query Parameters

ParameterTypeRequiredDescription
statusstringNoFilter by status category: PLANNING, ACTIVE, or FINAL