v1

latestOpenAPI 3.1.02026-07-26294215839.4 KB
Goals
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

completeboolean required

Whether the milestone is complete or not

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
    }
  }
}