Review Cycle API Reference

Introduction

The PerformYard Review Cycle API allows customers to programmatically retrieve and manage data related to review cycles defined in PerformYard. The API endpoints will let you:

  • Retrieve the list of Review Cycles with the ability to sort, filter, and paginate results.
  • Add a subject to a Review Cycle

Requirements

Calling these API endpoints requires an API Key and API ID. See Getting Started with PerformYard API for details on creating API keys and API Authentication for authentication flow.

Retrieve All Review Cycles

GET https://api.talent.performyard.com/v1/review-cycles

Returns a list review cycles.

Query Parameters

limit integer

The number of review cycles to be returned in a single API Request.

Default: 200

Minimum: 5

Maximum: 200
offset integer

Used to paginate through the list of review cycles. Can be combined with limit.

Default: 0

Increment the value by one to fetch subsequent pages (1 for the second page, 2 for the third, etc.).
sort string

Order in which to return the list of employees.

Allowed Values: asc(FIELD_NAME) desc(FIELD_NAME)

Allowed Field Names: name start_date
name string

Filter the returned review cycles by a specific name.

Accepts only a single string value. Case sensitive.
status enum

Filter the returned review cycles by a specific status.

Allowed Values: Active Completed Scheduled

Accepts only a single string value.
type enum

The type of review cycle to return.

Allowed Values: automated manual

Accepts only a single string value.

CURL Example

curl --location 'https://api.talent.performyard.com/v1/review-cycles' \
--header 'Accept: application/json' \
--header 'x-api-id: {{X-API-ID}}' \
--header 'x-api-key: {{X-API-KEY}}'

Response (200)

{
  "review_cycles": [
    {
      "id": "<string>",
      "name": "<string>",
      "start_date": "<string>",
      "completed": <boolean>,
      "status": "<string>"
      "type": "<string>"
    },
    ....
  ]
}

Add Subject to a Review Cycle

POST https://api.talent.performyard.com/v1/review-cycles/:review_cycle_id/subjects

Adds an employee to the defined review cycle.

Request Body Parameters

subjectId string required

The employee being added to the review cycle.
startDate string required

The date of when the review should start.

Allowed Formats: YYYY-MM-DD
startTime enum

The time when the review should start.

Default value is based on company default review time. Timezone is based on company timezone.

Allowed Values: midnight 9am noon 5pm

Accepts only a single string value.
adminEdit boolean

Restricts editing permissions to just admins for this created review within the specified review cycle (update author/signers, add/remove forms). Management of created review can be down within PerformYard.

Default value is false.

Allowed Values: true false

Accepts only a single boolean value.

Request Body Format

{
  "subjectId": "<string>",
  "startDate": "<string>",
  "startTime": "<string>",
  "adminEdit": <boolean>
}

CURL Example

curl --location 'POST https://api.talent.performyard.com/v1/review-cycles/68628971d1328c0e869e5fd1/subjects' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'x-api-id: {{X-API-ID}}' \
--header 'x-api-key: {{X-API-KEY}}' \
--data '
  {
    "subjectId": "6734c08623dbbf142bb2f3d6",
    "startDate": "2025-07-18",
    "startTime": "9am",
    "adminEdit": true
}'

Response (200)

{ 
   "message": "Employee added to review cycle."
}