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 performance review period. Send fixed_date: true (default) with explicit employee and reviewer dates for a fixed date review, or fixed_date: false with period lengths in months and days for a continuous review. The visibility_all_responses_on_specific_date visibility option is only available for fixed date reviews. 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

namestringrequired

The review title.

review_template_idsuuid[]required

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. Required for fixed date reviews.

Note

Only used when fixed_date is true (fixed date reviews). When employees can start their review.

employee_end_datedate

The employee review end date. Required for fixed date reviews.

Note

Only used when fixed_date is true (fixed date reviews). When the employee review window closes.

employee_lock_out_datedate

The employee lock out date. Must be after the end date. Required for fixed date reviews.

Note

Only used when fixed_date is true (fixed date reviews). After this date employees can no longer edit.

reviewer_start_datedate

The reviewer review start date. Required for fixed date reviews.

Note

Only used when fixed_date is true (fixed date reviews). When reviewers can start their reviews.

reviewer_end_datedate

The reviewer review end date. Required for fixed date reviews.

Note

Only used when fixed_date is true (fixed date reviews). When the reviewer review window closes.

reviewer_lock_out_datedate

The reviewer lock out date. Must be after the end date. Required for fixed date reviews.

Note

Only used when fixed_date is true (fixed date reviews). After this date reviewers can no longer edit.

pre_launch_reminder_daysinteger

Days before launch to send a reminder. Minimum 1.

Note

Only used when fixed_date is true (fixed date reviews). Sets how far ahead of the start date the reminder is sent.

send_reminders_atdate

The date reminders are sent.

Note

Only used when fixed_date is true (fixed date reviews). Sets one fixed calendar date for reminders.

reviewer_typesenum<string>[]

Reviewer types. Defaults to primary_manager when omitted.

Note

Only used when fixed_date is true (fixed date reviews). Chooses which managers review each employee.

employee_period_monthsinteger

Months in the employee review period.

Note

Only used when fixed_date is false (continuous reviews). Together with employee_period_days, sets the length of each employee review. Omitted values default to 0, and months and days cannot both be 0.

employee_period_daysinteger

Days in the employee review period.

Note

Only used when fixed_date is false (continuous reviews). Together with employee_period_months, sets the length of each employee review. Omitted values default to 0, and months and days cannot both be 0.

reviewer_period_monthsinteger

Months in the reviewer review period.

Note

Only used when fixed_date is false (continuous reviews). Together with reviewer_period_days, sets the length of each reviewer review. Omitted values default to 0, and months and days cannot both be 0.

reviewer_period_daysinteger

Days in the reviewer review period.

Note

Only used when fixed_date is false (continuous reviews). Together with reviewer_period_months, sets the length of each reviewer review. Omitted values default to 0, and months and days cannot both be 0.

employee_lock_out_daysinteger

Days after the period ends before employees are locked out.

Note

Only used when fixed_date is false (continuous reviews). Relative equivalent of employee_lock_out_date: employees are locked out this many days after their period ends. Only applied when continuous review grace periods are enabled for the organisation.

manager_lock_out_daysinteger

Days after the period ends before managers are locked out.

Note

Only used when fixed_date is false (continuous reviews). Relative equivalent of reviewer_lock_out_date: managers are locked out this many days after their period ends. Only applied when continuous review grace periods are enabled for the organisation.

send_reminder_daysinteger

Days before the period ends to send reminders.

Note

Only used when fixed_date is false (continuous reviews). Reminders go out this many days before each period ends. Only applied when continuous review grace periods are enabled for the organisation.

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

true (default) creates a fixed date review using the date fields. false creates a continuous review using the period fields.

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", "Employee response visibility is only available for fixed date reviews", "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"      }    ]  }}

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.

Note

Only used when fixed_date is true (fixed date reviews). When employees can start their review.

employee_end_datedate

The employee review end date.

Note

Only used when fixed_date is true (fixed date reviews). When the employee review window closes.

employee_lock_out_datedate

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

Note

Only used when fixed_date is true (fixed date reviews). After this date employees can no longer edit.

reviewer_start_datedate

The reviewer review start date.

Note

Only used when fixed_date is true (fixed date reviews). When reviewers can start their reviews.

reviewer_end_datedate

The reviewer review end date.

Note

Only used when fixed_date is true (fixed date reviews). When the reviewer review window closes.

reviewer_lock_out_datedate

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

Note

Only used when fixed_date is true (fixed date reviews). After this date reviewers can no longer edit.

pre_launch_reminder_daysinteger

Days before launch to send a reminder. Minimum 1.

Note

Only used when fixed_date is true (fixed date reviews). Sets how far ahead of the start date the reminder is sent.

send_reminders_atdate

The date reminders are sent.

Note

Only used when fixed_date is true (fixed date reviews). Sets one fixed calendar date for reminders.

reviewer_typesenum<string>[]

Reviewer types. Defaults to primary_manager when omitted.

Note

Only used when fixed_date is true (fixed date reviews). Chooses which managers review each employee.

employee_period_monthsinteger

Months in the employee review period.

Note

Only used when fixed_date is false (continuous reviews). Together with employee_period_days, sets the length of each employee review. Omitted values default to 0, and months and days cannot both be 0.

employee_period_daysinteger

Days in the employee review period.

Note

Only used when fixed_date is false (continuous reviews). Together with employee_period_months, sets the length of each employee review. Omitted values default to 0, and months and days cannot both be 0.

reviewer_period_monthsinteger

Months in the reviewer review period.

Note

Only used when fixed_date is false (continuous reviews). Together with reviewer_period_days, sets the length of each reviewer review. Omitted values default to 0, and months and days cannot both be 0.

reviewer_period_daysinteger

Days in the reviewer review period.

Note

Only used when fixed_date is false (continuous reviews). Together with reviewer_period_months, sets the length of each reviewer review. Omitted values default to 0, and months and days cannot both be 0.

employee_lock_out_daysinteger

Days after the period ends before employees are locked out.

Note

Only used when fixed_date is false (continuous reviews). Relative equivalent of employee_lock_out_date: employees are locked out this many days after their period ends. Only applied when continuous review grace periods are enabled for the organisation.

manager_lock_out_daysinteger

Days after the period ends before managers are locked out.

Note

Only used when fixed_date is false (continuous reviews). Relative equivalent of reviewer_lock_out_date: managers are locked out this many days after their period ends. Only applied when continuous review grace periods are enabled for the organisation.

send_reminder_daysinteger

Days before the period ends to send reminders.

Note

Only used when fixed_date is false (continuous reviews). Reminders go out this many days before each period ends. Only applied when continuous review grace periods are enabled for the organisation.

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"  }}