v1
latestOpenAPI 3.1.02026-07-26294215839.4 KBGoals
Public API
Update Milestone Progress
Update the progress of a milestone in a goal. Validate the result using returned domain fields such as the milestone's completedDateTime, plus the goal's status and percentComplete; do not rely solely on lastChangedDateTime as the confirmation timestamp, because it may not match the HTTP response time or may reflect BambooHR's internal timezone/update semantics.
OAuth Scopes: goal.write
put/api/v1/performance/employees/{employeeId}/goals/{goalId}/milestones/{milestoneId}/progress
Path parameters
employeeIdstring required
The internal employee ID of the employee the goal is associated with.
goalIdstring required
goalId is the goal ID for the specified employee.
milestoneIdstring required
milestoneId is the milestone ID for the specified goal.
Request body
Example request
{
"complete": true
}Response
The milestone progress was successfully updated. The response contains the updated goal details.
Example response
{
"goal": {
"id": "4",
"title": "Complete Documentation Epic",
"description": "Document every endpoint for the goals API.",
"percentComplete": 78,
"dueDate": "2025-12-31",
"completionDate": "2025-12-17T10:30:00Z",
"lastChangedDateTime": "2025-12-17T10:30:00Z",
"status": "in_progress",
"milestones": [
{
"id": 2,
"employeeGoalId": 12,
"title": "Sell 15 Doohickeys",
"completedDateTime": "2025-04-10T15:36:38Z",
"lastUpdateDateTime": "2025-04-10T15:36:38Z",
"lastUpdateUserId": 24
}
],
"actions": {
"canEditGoalProgressBar": true
}
}
}