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
email 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