v1

latestOpenAPI 3.1.02026-07-26294215839.4 KB
Goals
Public API

Close Goal

Closes a goal, moving it to the closed status. An optional comment may be included in the request body to record a note at closing time. Returns the updated goal object. Validate the result using the returned status, percentComplete, and completionDate fields; 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. Note: Cascading goals with visible children cannot be closed.

OAuth Scopes: goal.write

post/api/v1/performance/employees/{employeeId}/goals/{goalId}/close

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.

Request body

commentstring nullable

Optional comment to record when closing the goal.

Example request

{
  "comment": "Closing this goal as the deadline has passed."
}

Response

The goal was successfully closed. The response body contains the updated goal object.

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": {
      "canEditGoalMilestoneProgressBar": true
    }
  }
}