Employment Hero LogoEmployment Hero

Performance Review

Retrieves a paginated list of the organisation's performance review periods. Use page_index and item_per_page (default 20, maximum 100) to page through results.

GET
https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

Query Parameters

archivedboolean

Filter by archived status. Omit to return both archived and active review periods.

page_indexnumber

Current page index

Default1
Min1
item_per_pagenumber

Number of items per page

Default20
Max100

Response Body

Returns a paginated list of review periods, ordered by end date (newest first). The response includes page_index, item_per_page, total_pages and total_items.

dataobject
itemsobject[]
iduuid

The unique identifier of the review period.

titlestring

The title of the review period.

fixed_dateboolean

true for a fixed date review, false for a continuous review.

archivedboolean

Whether the review period is archived.

start_datedate

The employee review start date (ISO 8601).

end_datedate

The employee review end date (ISO 8601).

lock_out_datedate

The employee lock out date (ISO 8601).

reviewer_start_datedate

The reviewer (manager) review start date (ISO 8601).

manager_end_datedate

The reviewer (manager) review end date (ISO 8601).

manager_lock_out_datedate

The reviewer (manager) lock out date (ISO 8601).

employee_period_monthsinteger

Continuous reviews: months in the employee review period.

employee_period_daysinteger

Continuous reviews: days in the employee review period.

manager_period_monthsinteger

Continuous reviews: months in the reviewer review period.

manager_period_daysinteger

Continuous reviews: days in the reviewer review period.

templatesobject[]

The review templates used by the review period.

employee_completionenum<string>

The overall completion status of employee (self) reviews.

manager_completionenum<string>

The overall completion status of reviewer reviews.

employee_completion_ratiostring

Completed over total employee reviews, e.g. 3/10.

manager_completion_ratiostring

Completed over total reviewer reviews, e.g. 2/10.

page_indexnumber

Current page index

Default1
Min1
item_per_pagenumber

Number of items per page

Default20
Max100
total_itemsnumber

Total items

total_pagesnumber

Total pages

Example

curl -X GET \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"

Response

{  "data": {    "items": [      {        "id": "7d1c3a52-9b0e-4f6a-8a43-2e5f1c9d0b11",        "title": "Annual Review 2026",        "fixed_date": true,        "archived": false,        "start_date": "2026-07-01",        "end_date": "2026-07-31",        "lock_out_date": "2026-08-15",        "reviewer_start_date": "2026-08-01",        "manager_end_date": "2026-08-10",        "manager_lock_out_date": "2026-08-20",        "employee_period_months": null,        "employee_period_days": null,        "manager_period_months": null,        "manager_period_days": null,        "templates": [          {            "id": "c4a9e1b7-3f52-4d68-9a10-5b7e2d8f6a01",            "name": "Annual Performance Template"          }        ],        "employee_completion": "in_progress",        "manager_completion": "not_started",        "employee_completion_ratio": "3/10",        "manager_completion_ratio": "0/10"      },      {        "id": "2b8e4f10-6c3d-4a97-b5e2-0d9a7c1f3e22",        "title": "Continuous Check-in",        "fixed_date": false,        "archived": false,        "start_date": null,        "end_date": null,        "lock_out_date": null,        "reviewer_start_date": null,        "manager_end_date": null,        "manager_lock_out_date": null,        "employee_period_months": 3,        "employee_period_days": 0,        "manager_period_months": 3,        "manager_period_days": 0,        "templates": [          {            "id": "e8d2b6f4-1a73-4c95-8b30-9f4c7a1d2e02",            "name": "Quarterly Check-in"          }        ],        "employee_completion": "completed",        "manager_completion": "in_progress",        "employee_completion_ratio": "10/10",        "manager_completion_ratio": "4/10"      }    ],    "page_index": 1,    "item_per_page": 20,    "total_items": 2,    "total_pages": 1  }}

Retrieves the full details of a single performance review period.

GET
https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews/:performance_review_id

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

performance_review_iduuidrequired

The ID of the review period.

Response Body

Returns the full review period, including description, visibility settings, allowed manager roles and attached files. Returns 404 "Could not find the record" if the review period does not exist in the organisation.

dataobject
iduuid

The unique identifier of the review period.

titlestring

The title of the review period.

fixed_dateboolean

true for a fixed date review, false for a continuous review.

archivedboolean

Whether the review period is archived.

start_datedate

The employee review start date (ISO 8601).

end_datedate

The employee review end date (ISO 8601).

lock_out_datedate

The employee lock out date (ISO 8601).

reviewer_start_datedate

The reviewer (manager) review start date (ISO 8601).

manager_end_datedate

The reviewer (manager) review end date (ISO 8601).

manager_lock_out_datedate

The reviewer (manager) lock out date (ISO 8601).

employee_period_monthsinteger

Continuous reviews: months in the employee review period.

employee_period_daysinteger

Continuous reviews: days in the employee review period.

manager_period_monthsinteger

Continuous reviews: months in the reviewer review period.

manager_period_daysinteger

Continuous reviews: days in the reviewer review period.

templatesobject[]

The review templates used by the review period.

employee_completionenum<string>

The overall completion status of employee (self) reviews.

manager_completionenum<string>

The overall completion status of reviewer reviews.

employee_completion_ratiostring

Completed over total employee reviews, e.g. 3/10.

manager_completion_ratiostring

Completed over total reviewer reviews, e.g. 2/10.

descriptionstring

The review description (HTML).

employee_response_visibilityenum<string>

Controls what employees can see of review responses.

employee_responses_release_datedate

The date responses are released to employees (ISO 8601). Used with visibility_all_responses_on_specific_date.

publish_responsesboolean

Whether draft responses are published when the review locks out.

primary_manager_enabledboolean

Whether primary managers review.

secondary_manager_enabledboolean

Whether secondary managers review.

use_overall_scoreboolean

Whether an overall score is used.

use_weighted_questionsboolean

Whether weighted questions are used.

allowed_manager_rolesenum<string>[]

Manager roles allowed to view the review.

additional_viewer_member_idsuuid[]

IDs of additional members who can view the review.

filesobject[]

Files attached to the review.

Example

curl -X GET \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews/:performance_review_id" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"

Response

{  "data": {    "id": "7d1c3a52-9b0e-4f6a-8a43-2e5f1c9d0b11",    "title": "Annual Review 2026",    "fixed_date": true,    "archived": false,    "start_date": "2026-07-01",    "end_date": "2026-07-31",    "lock_out_date": "2026-08-15",    "reviewer_start_date": "2026-08-01",    "manager_end_date": "2026-08-10",    "manager_lock_out_date": "2026-08-20",    "employee_period_months": null,    "employee_period_days": null,    "manager_period_months": null,    "manager_period_days": null,    "templates": [      {        "id": "c4a9e1b7-3f52-4d68-9a10-5b7e2d8f6a01",        "name": "Annual Performance Template"      }    ],    "employee_completion": "in_progress",    "manager_completion": "not_started",    "employee_completion_ratio": "3/10",    "manager_completion_ratio": "0/10",    "description": "<p>Annual performance review for all employees.</p>",    "employee_response_visibility": "visibility_own_responses_only",    "employee_responses_release_date": null,    "publish_responses": false,    "primary_manager_enabled": true,    "secondary_manager_enabled": false,    "use_overall_score": true,    "use_weighted_questions": false,    "allowed_manager_roles": [      "primary_manager"    ],    "additional_viewer_member_ids": [],    "files": [      {        "file_id": "fil_abc123def456ghi789",        "filename": "review-guidelines.pdf",        "url": "https://cdn.employmenthero.com/files/review-guidelines.pdf"      }    ]  }}

Creates a fixed date performance review period with explicit employee and reviewer dates. Participants are selected with member_ids, group_ids, location_ids and organisation_division_ids.

POST
https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

Request Body

namestring

The review title.

review_template_idsuuid[]

IDs of the review templates to use.

descriptionstring

The review description.

file_idsstring[]

File handles returned by the file upload endpoint to attach to the review.

publish_draft_responses_on_lock_outboolean

Publish draft responses when the review locks out.

use_overall_scoreboolean

Use an overall score.

use_weighted_questionsboolean

Use weighted questions. Requires use_overall_score to be true.

employee_response_visibilityenum<string>

What employees can see of review responses. visibility_all_responses_on_specific_date is only available for fixed date reviews and requires employee_responses_release_date.

employee_responses_release_datedate

Required when employee_response_visibility is visibility_all_responses_on_specific_date.

allowed_manager_rolesenum<string>[]

Manager roles allowed to view the review.

employee_start_datedate

The employee review start date.

employee_end_datedate

The employee review end date.

employee_lock_out_datedate

The employee lock out date. Must be after the end date.

reviewer_start_datedate

The reviewer review start date.

reviewer_end_datedate

The reviewer review end date.

reviewer_lock_out_datedate

The reviewer lock out date. Must be after the end date.

pre_launch_reminder_daysinteger

Days before launch to send a reminder. Minimum 1.

send_reminders_atdate

The date reminders are sent.

reviewer_typesenum<string>[]

Reviewer types. Defaults to primary_manager when omitted.

member_idsuuid[]

IDs of the employees to include.

group_idsuuid[]

IDs of the teams whose members are included.

location_idsuuid[]

IDs of the locations whose members are included.

organisation_division_idsuuid[]

IDs of the divisions whose members are included.

exclude_pending_employeesboolean

Exclude pending employees. Defaults to false.

fixed_dateboolean

Set to true (default) to create a fixed date review.

Response Body

Returns HTTP 201 with the created review period. Validation failures return 422, for example "Lock out date should be after end date", "Reviewer lock out date should be after end date", "Use weighted questions Use overall score must be true" or "Employee responses release date can't be blank".

dataobject
iduuid

The unique identifier of the review period.

titlestring

The title of the review period.

fixed_dateboolean

true for a fixed date review, false for a continuous review.

archivedboolean

Whether the review period is archived.

start_datedate

The employee review start date (ISO 8601).

end_datedate

The employee review end date (ISO 8601).

lock_out_datedate

The employee lock out date (ISO 8601).

reviewer_start_datedate

The reviewer (manager) review start date (ISO 8601).

manager_end_datedate

The reviewer (manager) review end date (ISO 8601).

manager_lock_out_datedate

The reviewer (manager) lock out date (ISO 8601).

employee_period_monthsinteger

Continuous reviews: months in the employee review period.

employee_period_daysinteger

Continuous reviews: days in the employee review period.

manager_period_monthsinteger

Continuous reviews: months in the reviewer review period.

manager_period_daysinteger

Continuous reviews: days in the reviewer review period.

templatesobject[]

The review templates used by the review period.

employee_completionenum<string>

The overall completion status of employee (self) reviews.

manager_completionenum<string>

The overall completion status of reviewer reviews.

employee_completion_ratiostring

Completed over total employee reviews, e.g. 3/10.

manager_completion_ratiostring

Completed over total reviewer reviews, e.g. 2/10.

descriptionstring

The review description (HTML).

employee_response_visibilityenum<string>

Controls what employees can see of review responses.

employee_responses_release_datedate

The date responses are released to employees (ISO 8601). Used with visibility_all_responses_on_specific_date.

publish_responsesboolean

Whether draft responses are published when the review locks out.

primary_manager_enabledboolean

Whether primary managers review.

secondary_manager_enabledboolean

Whether secondary managers review.

use_overall_scoreboolean

Whether an overall score is used.

use_weighted_questionsboolean

Whether weighted questions are used.

allowed_manager_rolesenum<string>[]

Manager roles allowed to view the review.

additional_viewer_member_idsuuid[]

IDs of additional members who can view the review.

filesobject[]

Files attached to the review.

Example

curl -X POST \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \  -H "Content-Type: application/json" \  -d '{    "name": "Annual Review 2026",    "review_template_ids": [      "c4a9e1b7-3f52-4d68-9a10-5b7e2d8f6a01"    ],    "fixed_date": true,    "employee_start_date": "2026-07-01",    "employee_end_date": "2026-07-31",    "employee_lock_out_date": "2026-08-15",    "reviewer_start_date": "2026-08-01",    "reviewer_end_date": "2026-08-10",    "reviewer_lock_out_date": "2026-08-20",    "reviewer_types": [      "primary_manager"    ],    "employee_response_visibility": "visibility_own_responses_only",    "member_ids": [      "a1f3c7d9-5e28-4b60-93d4-7c2e8f0b1a03"    ]  }'

Response

{  "data": {    "id": "7d1c3a52-9b0e-4f6a-8a43-2e5f1c9d0b11",    "title": "Annual Review 2026",    "fixed_date": true,    "archived": false,    "start_date": "2026-07-01",    "end_date": "2026-07-31",    "lock_out_date": "2026-08-15",    "reviewer_start_date": "2026-08-01",    "manager_end_date": "2026-08-10",    "manager_lock_out_date": "2026-08-20",    "employee_period_months": null,    "employee_period_days": null,    "manager_period_months": null,    "manager_period_days": null,    "templates": [      {        "id": "c4a9e1b7-3f52-4d68-9a10-5b7e2d8f6a01",        "name": "Annual Performance Template"      }    ],    "employee_completion": "in_progress",    "manager_completion": "not_started",    "employee_completion_ratio": "3/10",    "manager_completion_ratio": "0/10",    "description": "<p>Annual performance review for all employees.</p>",    "employee_response_visibility": "visibility_own_responses_only",    "employee_responses_release_date": null,    "publish_responses": false,    "primary_manager_enabled": true,    "secondary_manager_enabled": false,    "use_overall_score": true,    "use_weighted_questions": false,    "allowed_manager_roles": [      "primary_manager"    ],    "additional_viewer_member_ids": [],    "files": [      {        "file_id": "fil_abc123def456ghi789",        "filename": "review-guidelines.pdf",        "url": "https://cdn.employmenthero.com/files/review-guidelines.pdf"      }    ]  }}

Creates a continuous performance review period by sending fixed_date: false with period lengths in months and days. The visibility_all_responses_on_specific_date visibility option is not available for continuous reviews.

POST
https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

Request Body

namestring

The review title.

review_template_idsuuid[]

IDs of the review templates to use.

descriptionstring

The review description.

file_idsstring[]

File handles returned by the file upload endpoint to attach to the review.

publish_draft_responses_on_lock_outboolean

Publish draft responses when the review locks out.

use_overall_scoreboolean

Use an overall score.

use_weighted_questionsboolean

Use weighted questions. Requires use_overall_score to be true.

employee_response_visibilityenum<string>

What employees can see of review responses. visibility_all_responses_on_specific_date is only available for fixed date reviews and requires employee_responses_release_date.

employee_responses_release_datedate

Required when employee_response_visibility is visibility_all_responses_on_specific_date.

allowed_manager_rolesenum<string>[]

Manager roles allowed to view the review.

employee_period_monthsinteger

Months in the employee review period.

employee_period_daysinteger

Days in the employee review period.

reviewer_period_monthsinteger

Months in the reviewer review period.

reviewer_period_daysinteger

Days in the reviewer review period.

employee_lock_out_daysinteger

Days after the period ends before employees are locked out.

manager_lock_out_daysinteger

Days after the period ends before managers are locked out.

send_reminder_daysinteger

Days before the period ends to send reminders.

member_idsuuid[]

IDs of the employees to include.

group_idsuuid[]

IDs of the teams whose members are included.

location_idsuuid[]

IDs of the locations whose members are included.

organisation_division_idsuuid[]

IDs of the divisions whose members are included.

exclude_pending_employeesboolean

Exclude pending employees. Defaults to false.

fixed_datebooleanrequired

Must be false to create a continuous review.

Response Body

Returns HTTP 201 with the created review period. Validation failures return 422, for example "Employee period days Period length must be non-zero" or "Employee response visibility is only available for fixed date reviews".

dataobject
iduuid

The unique identifier of the review period.

titlestring

The title of the review period.

fixed_dateboolean

true for a fixed date review, false for a continuous review.

archivedboolean

Whether the review period is archived.

start_datedate

The employee review start date (ISO 8601).

end_datedate

The employee review end date (ISO 8601).

lock_out_datedate

The employee lock out date (ISO 8601).

reviewer_start_datedate

The reviewer (manager) review start date (ISO 8601).

manager_end_datedate

The reviewer (manager) review end date (ISO 8601).

manager_lock_out_datedate

The reviewer (manager) lock out date (ISO 8601).

employee_period_monthsinteger

Continuous reviews: months in the employee review period.

employee_period_daysinteger

Continuous reviews: days in the employee review period.

manager_period_monthsinteger

Continuous reviews: months in the reviewer review period.

manager_period_daysinteger

Continuous reviews: days in the reviewer review period.

templatesobject[]

The review templates used by the review period.

employee_completionenum<string>

The overall completion status of employee (self) reviews.

manager_completionenum<string>

The overall completion status of reviewer reviews.

employee_completion_ratiostring

Completed over total employee reviews, e.g. 3/10.

manager_completion_ratiostring

Completed over total reviewer reviews, e.g. 2/10.

descriptionstring

The review description (HTML).

employee_response_visibilityenum<string>

Controls what employees can see of review responses.

employee_responses_release_datedate

The date responses are released to employees (ISO 8601). Used with visibility_all_responses_on_specific_date.

publish_responsesboolean

Whether draft responses are published when the review locks out.

primary_manager_enabledboolean

Whether primary managers review.

secondary_manager_enabledboolean

Whether secondary managers review.

use_overall_scoreboolean

Whether an overall score is used.

use_weighted_questionsboolean

Whether weighted questions are used.

allowed_manager_rolesenum<string>[]

Manager roles allowed to view the review.

additional_viewer_member_idsuuid[]

IDs of additional members who can view the review.

filesobject[]

Files attached to the review.

Example

curl -X POST \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \  -H "Content-Type: application/json" \  -d '{    "name": "Continuous Check-in",    "review_template_ids": [      "e8d2b6f4-1a73-4c95-8b30-9f4c7a1d2e02"    ],    "fixed_date": false,    "employee_period_months": 3,    "employee_period_days": 0,    "reviewer_period_months": 3,    "reviewer_period_days": 0,    "employee_lock_out_days": 7,    "manager_lock_out_days": 7,    "send_reminder_days": 3,    "employee_response_visibility": "visibility_own_responses_only"  }'

Response

{  "data": {    "id": "7d1c3a52-9b0e-4f6a-8a43-2e5f1c9d0b11",    "title": "Continuous Check-in",    "fixed_date": false,    "archived": false,    "start_date": null,    "end_date": null,    "lock_out_date": null,    "reviewer_start_date": null,    "manager_end_date": null,    "manager_lock_out_date": null,    "employee_period_months": 3,    "employee_period_days": 0,    "manager_period_months": 3,    "manager_period_days": 0,    "templates": [      {        "id": "c4a9e1b7-3f52-4d68-9a10-5b7e2d8f6a01",        "name": "Annual Performance Template"      }    ],    "employee_completion": "in_progress",    "manager_completion": "not_started",    "employee_completion_ratio": "3/10",    "manager_completion_ratio": "0/10",    "description": "<p>Annual performance review for all employees.</p>",    "employee_response_visibility": "visibility_own_responses_only",    "employee_responses_release_date": null,    "publish_responses": false,    "primary_manager_enabled": true,    "secondary_manager_enabled": false,    "use_overall_score": true,    "use_weighted_questions": false,    "allowed_manager_roles": [      "primary_manager"    ],    "additional_viewer_member_ids": [],    "files": [      {        "file_id": "fil_abc123def456ghi789",        "filename": "review-guidelines.pdf",        "url": "https://cdn.employmenthero.com/files/review-guidelines.pdf"      }    ]  }}

Partially updates a performance review period. Only the fields provided are changed. Send archived: true to archive a review period or archived: false to unarchive it.

PATCH
https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews/:performance_review_id

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

performance_review_iduuidrequired

The ID of the review period.

Request Body

namestring

The review title.

review_template_idsuuid[]

IDs of the review templates to use.

descriptionstring

The review description.

file_idsstring[]

File handles returned by the file upload endpoint to attach to the review.

publish_draft_responses_on_lock_outboolean

Publish draft responses when the review locks out.

use_overall_scoreboolean

Use an overall score.

use_weighted_questionsboolean

Use weighted questions. Requires use_overall_score to be true.

employee_response_visibilityenum<string>

What employees can see of review responses. visibility_all_responses_on_specific_date is only available for fixed date reviews and requires employee_responses_release_date.

employee_responses_release_datedate

Required when employee_response_visibility is visibility_all_responses_on_specific_date.

allowed_manager_rolesenum<string>[]

Manager roles allowed to view the review.

employee_start_datedate

The employee review start date.

employee_end_datedate

The employee review end date.

employee_lock_out_datedate

The employee lock out date. Must be after the end date.

reviewer_start_datedate

The reviewer review start date.

reviewer_end_datedate

The reviewer review end date.

reviewer_lock_out_datedate

The reviewer lock out date. Must be after the end date.

pre_launch_reminder_daysinteger

Days before launch to send a reminder. Minimum 1.

send_reminders_atdate

The date reminders are sent.

reviewer_typesenum<string>[]

Reviewer types. Defaults to primary_manager when omitted.

employee_period_monthsinteger

Months in the employee review period.

employee_period_daysinteger

Days in the employee review period.

reviewer_period_monthsinteger

Months in the reviewer review period.

reviewer_period_daysinteger

Days in the reviewer review period.

employee_lock_out_daysinteger

Days after the period ends before employees are locked out.

manager_lock_out_daysinteger

Days after the period ends before managers are locked out.

send_reminder_daysinteger

Days before the period ends to send reminders.

archivedboolean

true archives the review period, false unarchives it.

Response Body

Returns the updated review period. Only supplied fields change. Fixed date fields apply to fixed date reviews and period fields apply to continuous reviews. Validation failures return 422.

dataobject
iduuid

The unique identifier of the review period.

titlestring

The title of the review period.

fixed_dateboolean

true for a fixed date review, false for a continuous review.

archivedboolean

Whether the review period is archived.

start_datedate

The employee review start date (ISO 8601).

end_datedate

The employee review end date (ISO 8601).

lock_out_datedate

The employee lock out date (ISO 8601).

reviewer_start_datedate

The reviewer (manager) review start date (ISO 8601).

manager_end_datedate

The reviewer (manager) review end date (ISO 8601).

manager_lock_out_datedate

The reviewer (manager) lock out date (ISO 8601).

employee_period_monthsinteger

Continuous reviews: months in the employee review period.

employee_period_daysinteger

Continuous reviews: days in the employee review period.

manager_period_monthsinteger

Continuous reviews: months in the reviewer review period.

manager_period_daysinteger

Continuous reviews: days in the reviewer review period.

templatesobject[]

The review templates used by the review period.

employee_completionenum<string>

The overall completion status of employee (self) reviews.

manager_completionenum<string>

The overall completion status of reviewer reviews.

employee_completion_ratiostring

Completed over total employee reviews, e.g. 3/10.

manager_completion_ratiostring

Completed over total reviewer reviews, e.g. 2/10.

descriptionstring

The review description (HTML).

employee_response_visibilityenum<string>

Controls what employees can see of review responses.

employee_responses_release_datedate

The date responses are released to employees (ISO 8601). Used with visibility_all_responses_on_specific_date.

publish_responsesboolean

Whether draft responses are published when the review locks out.

primary_manager_enabledboolean

Whether primary managers review.

secondary_manager_enabledboolean

Whether secondary managers review.

use_overall_scoreboolean

Whether an overall score is used.

use_weighted_questionsboolean

Whether weighted questions are used.

allowed_manager_rolesenum<string>[]

Manager roles allowed to view the review.

additional_viewer_member_idsuuid[]

IDs of additional members who can view the review.

filesobject[]

Files attached to the review.

Example

curl -X PATCH \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews/:performance_review_id" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \  -H "Content-Type: application/json" \  -d '{    "name": "Annual Review 2026 (updated)",    "employee_lock_out_date": "2026-08-20"  }'

Response

{  "data": {    "id": "7d1c3a52-9b0e-4f6a-8a43-2e5f1c9d0b11",    "title": "Annual Review 2026 (updated)",    "fixed_date": true,    "archived": false,    "start_date": "2026-07-01",    "end_date": "2026-07-31",    "lock_out_date": "2026-08-15",    "reviewer_start_date": "2026-08-01",    "manager_end_date": "2026-08-10",    "manager_lock_out_date": "2026-08-20",    "employee_period_months": null,    "employee_period_days": null,    "manager_period_months": null,    "manager_period_days": null,    "templates": [      {        "id": "c4a9e1b7-3f52-4d68-9a10-5b7e2d8f6a01",        "name": "Annual Performance Template"      }    ],    "employee_completion": "in_progress",    "manager_completion": "not_started",    "employee_completion_ratio": "3/10",    "manager_completion_ratio": "0/10",    "description": "<p>Annual performance review for all employees.</p>",    "employee_response_visibility": "visibility_own_responses_only",    "employee_responses_release_date": null,    "publish_responses": false,    "primary_manager_enabled": true,    "secondary_manager_enabled": false,    "use_overall_score": true,    "use_weighted_questions": false,    "allowed_manager_roles": [      "primary_manager"    ],    "additional_viewer_member_ids": [],    "files": [      {        "file_id": "fil_abc123def456ghi789",        "filename": "review-guidelines.pdf",        "url": "https://cdn.employmenthero.com/files/review-guidelines.pdf"      }    ]  }}

Deletes a performance review period. The deletion is processed asynchronously and the endpoint responds with HTTP 202.

DELETE
https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews/:performance_review_id

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

performance_review_iduuidrequired

The ID of the review period.

Response Body

Returns HTTP 202 Accepted. The review period is deleted asynchronously.

dataobject
successboolean

Whether the deletion was accepted.

Example

curl -X DELETE \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews/:performance_review_id" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"

Response

{  "data": {    "success": true  }}

Retrieves a paginated list of the employees participating in a review period, with the status of their self review and of each assigned reviewer. Use page_index and item_per_page (default 20, maximum 100) to page through results.

GET
https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews/:performance_review_id/participants

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

performance_review_iduuidrequired

The ID of the review period.

Query Parameters

page_indexnumber

Current page index

Default1
Min1
item_per_pagenumber

Number of items per page

Default20
Max100

Response Body

Returns a paginated list of participants with their reviewers. The response includes page_index, item_per_page, total_pages and total_items.

dataobject
itemsobject[]
employee_namestring

The name of the employee being reviewed.

self_review_statusenum<string>

The status of the employee self review.

reviewersobject[]

The reviewers assigned to the employee.

page_indexnumber

Current page index

Default1
Min1
item_per_pagenumber

Number of items per page

Default20
Max100
total_itemsnumber

Total items

total_pagesnumber

Total pages

Example

curl -X GET \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews/:performance_review_id/participants" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"

Response

{  "data": {    "items": [      {        "employee_name": "Jane Citizen",        "self_review_status": "completed",        "reviewers": [          {            "name": "John Smith",            "type": "primary_manager",            "status": "in_progress"          }        ]      },      {        "employee_name": "Sam Lee",        "self_review_status": "not_started",        "reviewers": [          {            "name": "John Smith",            "type": "primary_manager",            "status": "not_started"          },          {            "name": "Priya Nair",            "type": "secondary_manager",            "status": "not_started"          }        ]      }    ],    "page_index": 1,    "item_per_page": 20,    "total_items": 2,    "total_pages": 1  }}

Uploads an attachment for a performance review. Pass the returned file_id in file_ids when creating or updating a review period.

POST
https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews/file_uploads

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

Request Body

filefilerequired

The file to upload via multipart/form-data. Maximum 10 MB. Accepted formats: JPG, JPEG, PNG, PDF, DOC, DOCX.

Response Body

Returns an opaque file_id and the uploaded file URL on HTTP 200. Unsupported types return 422 "File type is not supported. Accepted formats: JPG, JPEG, PNG, PDF, DOC, DOCX" and oversized files return 422 "File size exceeds the 10 MB limit".

dataobject
file_idstring

An opaque file handle to pass in file_ids when creating or updating a review period.

urlstring

The URL of the uploaded file.

filenamestring

The sanitized filename of the uploaded file.

Example

curl -X POST \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/performance_reviews/file_uploads" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \  -F "file=@/path/to/review-guidelines.pdf"

Response

{  "data": {    "file_id": "fil_abc123def456ghi789",    "url": "https://cdn.employmenthero.com/files/review-guidelines.pdf",    "filename": "review-guidelines.pdf"  }}