Shares an employee's performance review with them. Required scope: w_reviews.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
This endpoint uses thew_reviewsscope, which must be enabled through the Integrations section found within the Settings menu.
Requires a user token, or an account token together with the member_id query parameter (the share is recorded against that member). An account token without member_id gets 403 Account tokens need a member_id for this operation. The caller must be one of the following:
- the aggregate's manager
- someone above the reviewee or the manager in the reporting line
- a member with permission to manage review cycles. If the reviewee also has that permission, the caller must additionally be in the reviewee's or the manager's reporting line
Shares the review aggregate with the reviewee. The aggregate is the whole set of the employee's reviews in the cycle. After sharing, the reviewee is asked to sign (when signing is enabled) and a performance meeting can be scheduled. There is no request body.
Preconditions:
- The aggregate is not already shared, and the cycle is not
archived. - If the cycle has a share start date, it must have passed.
- If the cycle has no share start date, the manager review must be submitted. In cycles without a manager review, at least one peer or upward review must be submitted instead.
- Callers without the review cycle management permission can share only while the cycle is
activeor within the share deadline. Members with that permission are exempt from the cycle-state and deadline checks.
Results
Returns 200 with the updated employee aggregate. The shape is the same as GET /review-cycles/:reviewCycleId/employees/:employeeId, and reviews contains only the reviews visible to the caller.
{
"id": "4d3",
"status": "ready",
"state": "shared",
"review_cycle": {
"id": "4d3",
"name": "Annual Review 2024",
"state": "active",
"customization_start_date": "2024-10-01T00:00:00.000Z",
"customization_end_date": "2024-10-15T00:00:00.000Z"
},
"reviewee": {
"id": "4d4",
"name": "Jane Doe"
},
"manager": {
"id": "4d3",
"name": "John Smith"
},
"reviews": [
{
"review": {
"id": "4d4",
"type": "manager",
"status": "ready",
"master_template_id": "1001",
"follower_template_id": null,
"update_form_url": "/spi/v3/review-cycles/4d3/tasks/4d3/forms/manager",
"state": "submitted",
"submit_deadline": "2024-11-20T00:00:00.000Z",
"share_deadline": "2024-11-25T00:00:00.000Z",
"write_url": null
},
"questionnaire": {
"template_id": "2",
"overall_rating": 4,
"sections": [
{
"id": "2501299e-4332-59e9-8979-93bdc5aceaa9",
"name": "<p>Goals</p>",
"rating": 4,
"questions": [
{
"id": "2501297d-e22b-5f57-bbeb-21490ee0c212",
"body": "<p>What progress has the employee made toward their goals?</p>",
"position": 0,
"section_id": "2501299e-4332-59e9-8979-93bdc5aceaa9",
"answer": "Delivered three major projects on time.",
"type": "paragraph"
}
]
}
]
}
}
]
}| key | type | description |
|---|---|---|
| id | string | Review aggregate (task) id |
| status | string | Preparation status: not_ready, draft or ready |
| state | string | not_started, in_progress, shared or signed |
| review_cycle | object | id, name, state, customization_start_date, customization_end_date |
| reviewee | object | id, name |
| manager | object | id, name, or null |
| reviews | array | Reviews with their questionnaires and answers |
Error responses
All business-rule errors return {"message": "...", "code": "..."}.
| Status | Condition |
|---|---|
| 400 | review_aggregate.already_shared: the aggregate is already shared |
| 400 | review_aggregate.share_in_archived_review_cycle: the cycle is archived |
| 400 | review_aggregate.share_before_share_start_date: the share start date has not been reached |
| 400 | review_aggregate.cannot_be_shared: the manager review (or a peer/upward review, for cycles without a manager review) is not submitted |
| 400 | review_aggregate.share_in_inactive_review_cycle: the cycle is not active and the share deadline has passed (non-admins) |
| 400 | review_aggregate.share_after_share_deadline: the share deadline has passed (non-admins) |
| 401 | Missing or invalid token |
| 403 | Missing w_reviews scope, account token without member_id, or the caller cannot share this aggregate |
| 404 | {"message": "Review aggregate not found"}: the task does not exist, is deleted, or belongs to a different review cycle |
