---
title: "Get Goals Aggregate (v1)"
method: GET
path: "/api/v1/performance/employees/{employeeId}/goals/aggregate"
tags: ["Goals", "Public API"]
deprecated: true
---

# Get Goals Aggregate (v1)

`GET /api/v1/performance/employees/{employeeId}/goals/aggregate`

## Request

- Base URL: `https://companySubDomain.bamboohr.com`
- URL: `https://companySubDomain.bamboohr.com/api/v1/performance/employees/{employeeId}/goals/aggregate`
- Auth: one of:
  - HTTP basic
  - OAuth 2
    - Authorization code: `/authorize.php`
    - Token URL: `/token.php` scopes: `goal`
- TypeScript: <https://skmtc.dev/bamboohr/apis/bamboohr-api/docs/api/v1/performance/employees/:employeeId/goals/aggregate/get.ts> (a function with typed inputs; its response is checked against the schema)

> **Deprecated.**

Deprecated. Use "Get Goals Aggregate (v1.1)" instead. Provides a list of all goals, type counts, goal comment counts, and employees shared with goals for the given employee. This version of the endpoint will not return any goals with milestones. Milestone functionality for this endpoint begins in version 1.2.

OAuth Scopes: goal

## Path parameters

- `employeeId` string, required

## Query parameters

- `filter` string

## Response `200`

The response content will be a JSON object with the requested information.

- object
  - `canAlign` boolean: The selected user can align goals with other users.
  - `canCreateGoals` boolean: The selected user can create a goal.
  - `filters` GoalFiltersV1: Array containing goal filters and their counts for API v1
    - `filters` object[]: Array of goal filter objects with counts
      - `id` 'status-inProgress' | 'status-completed': Filter identifier based on goal status.
      - `name` 'In Progress' | 'Completed': Display name of the filter
      - `count` integer: Number of goals matching this filter
  - `selectedFilter` string: The id of the current selected filter.
  - `goals` TransformedApiGoal[]: All goals in selected filter.
    - `id` string: The id of the goal.
    - `title` string: Title of the goal.
    - `description` string: A description of the goal.
    - `percentComplete` integer: A percentage (0-100) that denotes how complete the goal is.
    - `alignsWithOptionId` string, nullable: The ID of the goal this goal is aligned with. Returns null when not aligned, or an empty string when the goal has no parent set.
    - `sharedWithEmployeeIds` integer[]: Ids of the employees that have access to this goal.
    - `dueDate` string: The due date of the goal.
    - `completionDate` string, nullable: ISO 8601 UTC timestamp of when the goal was completed.
    - `lastChangedDateTime` string, nullable: ISO 8601 UTC timestamp of when the goal was last modified.
    - `status` 'in_progress' | 'completed' | 'closed': The status of the goal.
    - `milestones` object[], nullable: All milestones for the individual goal. This array will not exist if milestones are not selected for this goal.
      - `id` integer: The id of the milestone.
      - `employeeGoalId` integer: The id of the goal which encompasses this milestone.
      - `title` string: The title of the milestone.
      - `currentValue` number, nullable: The current value for a numeric milestone. This number will be rounded to the nearest hundredth. On the creation of a numeric milestone this value will automatically be set to the start value of the milestone. If the milestone is a simple checkbox milestone, this value will always be null.
      - `startValue` number, nullable: The starting value for a numeric milestone. This number will be rounded to the nearest hundredth. If the milestone is a simple checkbox milestone, this value will always be null.
      - `endValue` number, nullable: The end goal for a numeric milestone. This number will be rounded to the nearest hundredth. If the milestone is a simple checkbox milestone, this value will always be null.
      - `completedDateTime` string: The date and time in which the goal has been completed. If the goal is not completed the value will be null.
      - `lastUpdateDateTime` string: The date and time in which the goal was last updated.
      - `lastUpdateUserId` integer: The ID of the user who last updated this milestone.
    - `actions` object, nullable: Actions that are available to a goal with milestones enabled. This object will not appear on a goal without milestones.
      - `canEditGoalProgressBar` boolean: Can the user edit the progress bar of this goal.
      - `canEditGoalMilestoneProgressBar` boolean: can the user edit the progress of a milestone in this goal.
  - `persons` object[]: A list of people with access to the goal.
    - `employeeId` integer: The internal employee ID of this employee.
    - `userId` integer: The user id of the person if applicable.
    - `displayFirstName` string: First name of the person.
    - `lastName` string: Last name of the person.
    - `photoUrl` string: url of the user profile image.
  - `comments` object[]: A list of how many comments belong to each goal.
    - `goalId` integer: The goalId that the comments are linked to.
    - `commentCount` integer: How many comments are linked to the goal

## Other responses

- `403`: The authenticated caller does not have permission to view goals for this employee.

---

[API](https://skmtc.dev/bamboohr/apis/bamboohr-api.md) - [All operations](https://skmtc.dev/bamboohr/apis/bamboohr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bamboohr/apis/bamboohr-api/revisions/922fc15f43a7?raw)
