API Reference
PerformYard API
The PerformYard API allows customers to programmatically retrieve and manage data related to their performance management processes.
Getting Started
To get started using the PerformYard API, you'll need to obtain a company API Key. Have a look at our Getting Started article for more information.
Authorization
After creating an API Key, you'll be provided with x-api-key
and x-api-id
values. These headers should be included in every HTTP request to the PerformYard API.
Headers | Description |
x-api-id |
The unique identifier for each user or client making a request. |
x-api-key | This secret key associated with the x-api-id. |
Base URL
All requests will be based on the following URL
https://api.talent.performyard.com
GET Auth Verify
https://api.talent.performyard.com/v1/auth/verify
Example
Request
curl --location 'https://api.talent.performyard.com/v1/auth/verify' \ --header 'Accept: application/json' \ --header 'x-api-id: {{X-API-ID}}' \ --header 'x-api-key: {{X-API-KEY}}'
Response 200 OK
Body
{ "company_name": "<string>", "last_used": "<datetime>", "is_enabled": true, "quota_limit": 0, "requests_made": 0, "refresh_period": "<string>" }
Headers | |
content-type | application/json |
Employees
GET Get Employees
https://api.talent.performyard.com/v1/employees
Query Params | Type | Description | Default | Example |
limit | number | The number of employees returned. | 200 | 50 |
offset | number | The position of an employee record to return. | 0 | 5 |
sort | string | The order in which employees are returned. Accepts "asc(FIELD_NAME)" and/or "desc(FIELD_NAME)". | null | asc(name),desc(type) |
employeeStatus | enum | The status of the employees to be returned. Allowed values: activated, deactivated | null | deactivated |
permissionLevel | enum | The permission level of the employees. Allowed values: billing admin, admin, basic admin, employee | null | employee |
includeAllDataFields | string | The data fields to be returned for each employee. Allowed values: true, false | false | true |
Example
Request
curl --location 'https://api.talent.performyard.com/v1/employees?limit=200&offset=0&employeeStatus=deactivated&permissionLevel=employee&includeAllDataFields=true' \ --header 'Accept: application/json' \ --header 'x-api-id: {{X-API-ID}}' \ --header 'x-api-key: {{X-API-KEY}}'
Response 200 OK
Body
{ "employees": [ { "_id": "<string>", "name": "<string>", "email": "<string>", "phone": "<string>", "job_title": "<string>", "manager": { "_id": "<string>", "name": "<string>", "email": "<string>" }, "contributors": [ { "_id": "<string>", "name": "<string>", "email": "<string>" }, { "_id": "<string>", "name": "<string>", "email": "<string>" } ], "group": { "_id": "<string>", "name": "<string>" }, "termination_date": "<string>", "permission_level": "employee", "employee_status": "deactivated", "custom_fields": [ { "_id": "<string>", "field_value": "<string>", "field_name": "<string>" }, { "_id": "<string>", "field_value": "<string>", "field_name": "<string>" } ], "hire_date": "<string>" }, { "_id": "<string>", "name": "<string>", "email": "<string>", "phone": "<string>", "job_title": "<string>", "manager": { "_id": "<string>", "name": "<string>", "email": "<string>" }, "contributors": [ { "_id": "<string>", "name": "<string>", "email": "<string>" }, { "_id": "<string>", "name": "<string>", "email": "<string>" } ], "group": { "_id": "<string>", "name": "<string>" }, "termination_date": "<string>", "permission_level": "employee", "employee_status": "deactivated", "custom_fields": [ { "_id": "<string>", "field_value": "<string>", "field_name": "<string>" }, { "_id": "<string>", "field_value": "<string>", "field_name": "<string>" } ], "hire_date": "<string>" } ] }
Headers | |
content-type | application/json |
GET Get Employee by ID
https://api.talent.performyard.com/v1/employees/:id
Query Params | Type | Description | Default | Example |
includeAllDataFields | string | The data fields to be returned for each employee. Available values: true, false |
false | true |
Path Variables | Type | Description | Example |
:id | string | The id of the employee. | 642af7983586809245187b04 |
Example
Request
curl --location 'https://api.talent.performyard.com/v1/employees/:id?includeAllDataFields=true' \ --header 'Accept: application/json' \ --header 'x-api-id: {{X-API-ID}}' \ --header 'x-api-key: {{X-API-KEY}}'
Response 200 OK
Body
{ "employee": { "_id": "<string>", "name": "<string>", "email": "<string>", "phone": "<string>", "job_title": "<string>", "manager": { "_id": "<string>", "name": "<string>", "email": "<string>" }, "contributors": [ { "_id": "<string>", "name": "<string>", "email": "<string>" }, { "_id": "<string>", "name": "<string>", "email": "<string>" } ], "group": { "_id": "<string>", "name": "<string>" }, "termination_date": "<string>", "permission_level": "basic admin", "employee_status": "deactivated", "custom_fields": [ { "_id": "<string>", "field_value": "<string>", "field_name": "<string>" }, { "_id": "<string>", "field_value": "<string>", "field_name": "<string>" } ], "hire_date": "<string>" } }
Headers | |
content-type | application/json |
PATCH Update Employees
https://api.talent.performyard.com/v1/employees
Body Params | Type | Description | Default | Example |
_id | string | The id of the employee. Required | null | 435c36b412a1967105d8f334 |
Body
[ { "_id": "<string>", "first_name": "<string>", "nickname": : "<string>", "last_name": "<string>", "email": "<string>", "phone": "<string>", "job_title": "<string>", "hire_date": "<string>", "termination_date": "<string>", "group": "<string>", "employee_status": "activated", "manager": "<string>", "contributors": [ "<string>" ], "custom_fields": [ { "field_name": "<string>", "field_value": "<string>" } ] } ]
Example
Request
curl --location --request PATCH 'https://api.talent.performyard.com/v1/employees' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'x-api-id: {{X-API-ID}}' \ --header 'x-api-key: {{X-API-KEY}}' \ --data '[ { "_id": "<string>", "first_name": "<string>", "nickname": : "<string>", "last_name": "<string>", "email": "<string>", "phone": "<string>", "job_title": "<string>", "hire_date": "<dateTime>", "termination_date": "<dateTime>", "group": "<string>", "employee_status": "deactivated", "manager": "<string>", "contributors": [ "<string>", "<string>" ], "custom_fields": [ { "field_value": "<string>", "field_name": "<string>" }, { "field_value": "<string>", "field_name": "<string>" } ] }, { "_id": "<string>", "first_name": "<string>", "last_name": "<string>", "email": "<string>", "phone": "<string>", "job_title": "<string>", "hire_date": "<dateTime>", "termination_date": "<dateTime>", "group": "<string>", "employee_status": "activated", "manager": "<string>", "contributors": [ "<string>", "<string>" ], "custom_fields": [ { "field_value": "<string>", "field_name": "<string>" }, { "field_value": "<string>", "field_name": "<string>" } ] } ]'
Response 200 OK
Body
{ "message": "<string>" }
Headers | |
content-type | application/json |
PATCH Update Employee by ID
https://api.talent.performyard.com/v1/employees/:id
Path Variables | Type | Description | Example |
:id | text | The id of the employee. | 642af7983586809245187b04 |
Body
{ "_id": "<string>", "first_name": "<string>", "nickname": : "<string>", "last_name": "<string>", "email": "<string>", "phone": "<string>", "job_title": "<string>", "hire_date": "<string>", "termination_date": "<string>", "group": "<string>", "employee_status": "activated", "manager": "<string>", "contributors": [ "<string>" ], "custom_fields": [ { "field_name": "<string>", "field_value": "<string>" } ] }
Example
Request
curl --location --request PATCH 'https://api.talent.performyard.com/v1/employees/:id' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'x-api-id: kuugklk2y1' \ --header 'x-api-key: {{' \ --data '{ "_id": "<string>", "first_name": "<string>", "nickname": : "<string>", "last_name": "<string>", "email": "<string>", "phone": "<string>", "job_title": "<string>", "hire_date": "<dateTime>", "termination_date": "<dateTime>", "group": "<string>", "employee_status": "activated", "manager": "<string>", "contributors": [ "<string>", "<string>" ], "custom_fields": [ { "field_value": "<string>", "field_name": "<string>" }, { "field_value": "<string>", "field_name": "<string>" } ] }'
Response 200 OK
Body
{ "message": "<string>" }
Headers | |
content-type | application/json |
POST Create Employees
https://api.talent.performyard.com/v1/employees
Body Params | Type | Description | Default | Example |
first_name | string | The first name of the employee. Required | null | Jenny |
last_name | string | The last name of the employee. Required | null | Sherman |
string | The email of the employee . Required | null | jsherman@example.com |
Body
[ { "first_name": "<string>", "nickname": : "<string>", "last_name": "<string>", "email": "<string>", "phone": "<string>", "job_title": "<string>", "hire_date": "<string>", "termination_date": "<string>", "group": "<string>", "employee_status": "activated", "manager": "<string>", "contributors": [ "<string>" ], "custom_fields": [ { "field_name": "<string>", "field_value": "<string>" } ] } ]
Example
Request
curl --location 'https://api.talent.performyard.com/v1/employees' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'x-api-id: {{X-API-ID}}' \ --header 'x-api-key: {{X-API-KEY}}' \ --data '[ { "email": "<string>", "employee_status": "activated", "first_name": "<string>", "last_name": "<string>", "phone": "<string>", "job_title": "<string>", "hire_date": "<dateTime>", "termination_date": "<dateTime>", "group": "<string>", "manager": "<string>", "contributors": [ "<string>", "<string>" ], "custom_fields": [ { "field_value": "<string>", "field_name": "<string>" }, { "field_value": "<string>", "field_name": "<string>" } ] }, { "email": "<string>", "employee_status": "activated", "first_name": "<string>", "last_name": "<string>", "phone": "<string>", "job_title": "<string>", "hire_date": "<dateTime>", "termination_date": "<dateTime>", "group": "<string>", "manager": "<string>", "contributors": [ "<string>", "<string>" ], "custom_fields": [ { "field_value": "<string>", "field_name": "<string>" }, { "field_value": "<string>", "field_name": "<string>" } ] } ]'
Response 200 OK
Body
{ "message": "<string>" }
Headers | |
content-type | application/json |
GET Employee Data Fields
https://api.talent.performyard.com/v1/admin/data-fields/employee
Query Params | Type | Description | Default | Example |
limit | number | The number of data fields returned. | 200 | 50 |
offset | number | The position of a data field record to return. | 0 | 5 |
sort | string | The order in which data fields are returned. Accepts "asc(FIELD_NAME)" and/or "desc(FIELD_NAME)". | null | asc(is_required),desc(type) |
type | enum | The type of data fields returned. Allowed values: department, phone, person, monetary, numeric, email, single-select, textbox, text, multi-select, people, date | null | text |
visible | string | The permission required to view the data field. Allowed values: self, manager, admin, all | null | all |
editable | string | The permission level required to edit the data field. Allowed values: self, manager, admin, all |
null | admin |
tags | string | The tags assigned to the data field | null |
employment |
Example
Request
curl --location 'https://api.talent.performyard.com/v1/admin/data-fields/employee?limit=200&offset=0' \ --header 'Accept: application/json' \ --header 'x-api-id: {{X-API-ID}}' \ --header 'x-api-key: {{X-API-KEY}}'
Response 200 OK
Body
{ "employeeDataFields": [ { "_id": {}, "type": "monetary", "name": "<string>", "tags": [ "<string>", "<string>" ], "created_at": "<string>", "is_required": "<boolean>", "class": "custom", "visible_by": [ "self", "all" ], "editable_by": [ "all", "manager" ] }, { "_id": {}, "type": "date", "name": "<string>", "tags": [ "<string>", "<string>" ], "created_at": "<string>", "is_required": "<boolean>", "class": "custom", "visible_by": [ "manager", "manager" ], "editable_by": [ "all", "manager" ] } ] }
Headers | |
content-type | application/json |
GET Health Status
https://api.talent.performyard.com/health
Example
Request
curl --location 'https://api.talent.performyard.com/health' \ --header 'Accept: application/json' \ --header 'x-api-id: {{X-API-ID}}' \ --header 'x-api-key: {{X-API-KEY}}'
Response 200 OK
Body
{ "healthy": "<boolean>", "gitHash": "<string>", "gitHashShort": "<string>", "gitBranch": "<string>", "environment": "<string>" }
Headers | |
content-type | application/json |