# Goal

Use this API to create, update, and get a user's goals from Cornerstone Performance. You can also use this API to update a user's progress on a goal.

# Create

Use this endpoint to create new user goals. The same rules that the Cornerstone UI enforces while creating user goals also apply for the API. For additional details on creating user goals through the UI, please refer to this help article. You will need to be logged into your Cornerstone portal to access this link.

  • You can create only one goal per request using this API.
  • If a particular field is configured as 'Read-Only (Assigned Goals)' under the Goal Configuration settings (by Division) in your Cornerstone portal, that field cannot be set using this API.
  • Tasks and targets cannot be set using this API if they are not enabled under the Goal Configuration settings (by Division) in your Cornerstone portal using the 'Include' checkbox.
  • The weight of all tasks and targets within a goal must add up to 100%. Note that you can only set the weight using the API if the 'Allow tasks and targets to be individually weighted inside of a goal' setting under Goal Preferences is enabled in your Cornerstone portal.
  • Goal perspective and category values included in the API request body must be valid values configured in your Cornerstone portal. For more information about configuring perspectives and categories, please see this help article. You will need to be logged into your Cornerstone portal to access this link.
  • While this API allows you to set the progress for a goal and tasks and set the actual value for targets while creating the goal, you cannot use it to update progress and actual value on an existing goal. To update progress and actual value, please use the Update Goal Progress API.

Permission Required: Goals - Create

OAuth 2.0 Scope: goal:create

# Error Descriptions

Handled Error List

Error Types Error Message
PermissionDenied Provided user does not have application permissions and/or constraints to perform this operation.
MissingArgument The following Arguments are missing: GoalItem
CustomException Goal Title Missing.
CustomException Goal Assignment Missing.
CustomException Managed By User required.
CustomException Invalid Managed By User.
CustomException Goal Start Date Missing.
CustomException Goal Target Date Missing.
CustomException Invalid Goal Start Date.
CustomException Invalid Goal Target Date.
CustomException Target Date must be after Start Date.
CustomException Perspective Missing.
CustomException Invalid Perspective.
CustomException Invalid Category Item.
CustomException Goal Weight must be between 0 and 100.
CustomException Invalid AllowOtherUsersToSeeAndAlignWithThisGoal.
CustomException Task Description Missing.
CustomException Task Start Date Missing.
CustomException Task Due Date Missing.
CustomException Invalid Task Start Date.
CustomException Invalid Task Due Date.
CustomException Task Due Date must be after Start Date.
CustomException Task Start Date must be within the Goals date range.
CustomException Task Due Date must be within the Goals date range.
CustomException Task Weight must be between 0 and 100.
CustomException Target Description Missing.
CustomException Target Start Date Missing.
CustomException Target Due Date Missing.
CustomException Invalid Target Start Date.
CustomException Invalid Target Due Date.
CustomException Target Due Date must be after Start Date.
CustomException Target Start Date must be within the Goals date range.
CustomException Target Due Date must be within the Goals date range.
CustomException Target Weight must be between 0 and 100.
CustomException Invalid Target Type.
CustomException Threshold field is disabled.
CustomException Stretch field is disabled.
CustomException The weights for all components must add up to 100%.
CustomException OU Not Found.
CustomException Invalid OU Type.
CustomException Invalid User.
CustomException Invalid Assign To User/Ou.

# Details

Use this endpoint to retrieve details of user goals from your Cornerstone portal.

Note that if you are searching by Title alone, then the results will include only those Goals which are directly assigned to the users. It will not include Manager, Division & Company Goals.

Permission Required: Goals - Create

OAuth 2.0 Scope: goal:read

# Error Descriptions

Handled Error List

Error Types Error Message
Permission Denied Provided user does not have application permissions and/or constraints to perform this operation.
CustomException. Either Goal Title or Goal User Id is required.
CustomException. Start Date Missing.
CustomException. End Date Missing.
CustomException Invalid Start Date.
CustomException Invalid End Date.
CustomException Invalid User.

# Update

Use this endpoint to update existing user goals in your Cornerstone portal. The same rules that the Cornerstone UI enforces while creating user goals also apply for the API. For additional details on creating user goals through the UI, please refer to this help article. You will need to be logged into your Cornerstone portal to access this link.

  • If a particular field is configured as 'Read-Only (Assigned Goals)' under the Goal Configuration settings (by Division) in your Cornerstone portal, that field cannot be updated using this API.
  • Tasks and targets cannot be updated using this API if they are not enabled under the Goal Configuration settings (by Division) in your Cornerstone portal using the 'Include' checkbox.
  • The weight of all tasks and targets within a goal must add up to 100%. Note that you can only update the weight using the API if the 'Allow tasks and targets to be individually weighted inside of a goal' setting under Goal Preferences is enabled in your Cornerstone portal.
  • Goal perspective and category values included in the API request body must be valid values configured in your Cornerstone portal. For more information about configuring perspectives and categories, please see this help article. You will need to be logged into your Cornerstone portal to access this link.
  • While this API allows you to update the progress for a goal and task and update the actual value for a target, it does not support updating progress in certain scenarios such as when a goal has an approval workflow or when the goal does not have any tasks or targets tied to it. Please use the 'Update Goal Progress' API if the only operation you intend to perform is to update progress made by a user on a goal.

Permission Required: Goals - Create

OAuth 2.0 Scope: goal:updatefull

# Error Descriptions

Handled Error List

Error Types Error Message
MissingArgument The following Arguments are missing: GoalItem
PermissionDenied Provided user does not have application permissions and/or constraints to perform this operation.
CustomException Goal Title Missing.
CustomException User Id Missing.
CustomException Invalid User.
CustomException Multiple Goal Found for the same Title.
CustomException Goal not found.
CustomException Goal Start Date Missing.
CustomException Goal Target Date Missing.
CustomException Invalid Goal Start Date.
CustomException Invalid Goal Target Date.
CustomException Target Date must be after Start Date.
CustomException Perspective Missing.
CustomException Invalid Perspective.
CustomException Invalid Category Item.
CustomException Goal Weight must be between 0 and 100.
CustomException Invalid AllowOtherUsersToSeeAndAlignWithThisGoal.
CustomException Task Description Missing.
CustomException Task Start Date Missing.
CustomException Task Due Date Missing.
CustomException Invalid Task Start Date.
CustomException Invalid Task Due Date.
CustomException Task Due Date must be after Start Date.
CustomException Task Start Date must be within the Goals date range.
CustomException Task Due Date must be within the Goals date range.
CustomException Task Weight must be between 0 and 100.
CustomException Target Description Missing.
CustomException Target Start Date Missing.
CustomException Target Due Date Missing.
CustomException Invalid Target Start Date.
CustomException Invalid Target Due Date.
CustomException Target Due Date must be after Start Date.
CustomException Target Start Date must be within the Goals date range.
CustomException Target Due Date must be within the Goals date range.
CustomException Target Weight must be between 0 and 100.
CustomException Invalid Target Type.
CustomException Threshold field is disabled.
CustomException Stretch field is disabled.
CustomException The weights for all components must add up to 100%.

# Update Goal Progress

Use this endpoint to update goal progress, one goal at a time. The same rules that the Cornerstone UI enforces while updating goals also apply for the API. More specifically,

  • Progress can be updated at the goal level if the goal does not have a task or target.
  • If a goal has a task, progress must be updated at the task level.
  • If a goal has a target, progress must be updated by modifying the 'actual value' for the target.
  • If a goal has tasks and targets defined, progress must be updated by modifying the 'progress' and 'actual value' respectively.
  • If you do not provide an 'actual value' in the request payload, the API defaults the 'actual value' to the 'start value'.
  • Progress and actual value cannot be updated for goals in draft status.
  • Actual value provided in the request body must be greater than start value defined for the goal target.
  • If the Progress field is configured as Read-Only in the Goal Configuration settings (by Division) in your Cornerstone portal, the overall goal completion progress cannot be updated using the API. The Progress field can be configured as Read-Only for goals that are uploaded to the system via a data feed.
  • If the Task and Target fields are configured as Read-Only in the Goal Configuration settings (by Division), Task progress and Target actual value cannot be updated using the API. Task progress and Target actual value can be configured as Read-Only for goals that are uploaded to the system via a data feed and non-shared goals that are assigned to a user. Also, task progress can be configured as Read-Only for goals that are imported from the Goal Library.
  • Depending on the configuration of the portal (backend setting), the progress percentage field may accept up to two decimal places.
  • Goal progress can exceed 100% if the 'Allow goal progress to exceed 100%' setting is checked under Goal Preferences (by Division) in your Cornerstone portal.

For additional details on updating goal progress through the UI, please refer to this help article. You will need to be logged into your Cornerstone portal to access this link.

Permission Required: Goals - Create

OAuth 2.0 Scope: goalprogress:updatefull

# Error Descriptions

Handled Error List

Error Message Error Description
The following Arguments are missing: GoalItem Missing 'GoalItem' in the request body.
Provided user does not have application permissions and/or constraints to perform this operation. User does not have the 'Goals - Create' permission.
GoalId or Title missing Either GoalId or Title must be provided in the request body..
UserId missing UserId must be provided in the request body.
Invalid user UserId provided in the request body is not present in the portal.
Multiple Goal Found for the same Title GoalId was not provided in the request body. Title was provided in the request body, however, there are multiple goals with the same title for the user.
Goal not found GoalId or Title provided in the request body is not found to be associated with the UserId included in the request.
Cannot update goal progress. Task or Target present Value included for GoalProgress, but task or target is present for the goal. Progress must be reported at the task or target level.
Task not found The description provided in the request body for the task is not found to be associated with the UserId and GoalId included in the request.
Target not found The description provided in the request body for the target is not found to be associated with the UserId and GoalId included in the request.
Cannot update goal progress. Goal is in draft status Progress cannot be updated for goals in draft status.
Goal progress cannot exceed 100% Values provided in GoalProgress, TaskProgress or ActualValue will cause the overall goal progress to exceed 100%. But the 'Allow goal progress to exceed 100%' setting is not checked under Goal Preferences for the user's division.
Goal progress cannot be updated The Progress field is set as Read-Only in the Goal Configuration settings for the user's division. The overall goal completion progress cannot be updated.
Task progress cannot be updated The Task field is set as Read-Only in the Goal Configuration settings for the user's division. Task progress cannot be updated.
Target actual value cannot be updated The Target field is set as Read-Only in the Goal Configuration settings for the user's division. Target actual value cannot be updated.

# Cancel Goal

Use this endpoint to update goal statuses to cancelled, one goal at a time. The same rules that the Cornerstone UI enforces while updating goals also apply for the API. More specifically,

  • You can update only one goal per request using this API.
  • You can update the status if Goal Progress is disabled by the administrator (i.e., the Progress field is disabled in Goals Configuration) and a goal has no tasks or targets.

For additional details on updating goal progress through the UI, please refer to this help article. You will need to be logged into your Cornerstone portal to access this link.

Permission Required: Goals - Create

OAuth 2.0 Scope: goal:updatefull

# Error Descriptions

Handled Error List

Error Types Error Message
Permission Denied Provided user does not have application permissions and/or constraints to perform this operation.
CustomException. Either Goal Title or Goal User Id is required.
CustomException Invalid User.

# Lock Goals

Use this endpoint to lock or unlock goals, one goal at a time. The same rules that the Cornerstone UI enforces while updating goals also apply for the API. More specifically,

  • Managers may lock a goal at the end of the goal period or at the beginning of a review period.

When goals are locked, they cannot be updated either from the UI or the API until unlocked once again.

For additional details on updating goal progress through the UI, please refer to this help article. You will need to be logged into your Cornerstone portal to access this link.

To disable the Lock Goal Results functionality, contact Global Product Support.

Permission Required: Goals - Create

OAuth 2.0 Scope: goal:updatefull

# Error Descriptions

Handled Error List

Error Types Error Message
Permission Denied Provided user does not have application permissions and/or constraints to perform this operation.
CustomException. Either Goal Title or Goal User Id is required.
CustomException Invalid User.