improved

Employees API: Currency is now exposed

In Personio, it is already possible to retrieve salary data for employees. That salary data currently does not include the currency of a particular employee’s salary. From now on we are adding the currency attribute to the salary model in the employee endpoint.

added

Documents API: Post documents endpoints

Two new endpoints were added to the Personio public API.

improved

Employee API: renamed the /custom-attributes endpoint with backward compatibility

The endpoint GET v1/employees/custom-attributes was originally created to support custom attributes only.
It evolved to more than that and now also returns information about regular attributes. To ensure correct naming we are renaming it to GET v1/employees/attributes.
Both endpoints will remain available to ensure compatibility.

improved

Employees API: Universal ID is now exposed

In Personio, employee attributes are very customizable. We are using a number of dynamic attributes which can be mapped to standardized attributes with a unique ID. We are now exposing the UID in the Public API so that users can reliably identify the required attributes after they have been mapped in the Admin Panel.
The employee object now has the Universal ID (UID) exposed.

improved

Attendances API: added optional "skip_approval" parameter

Attendances periods created via the POST /company/attendances, the updates via PATCH company/attendances and deletions via DELETE company/attendances endpoints used to skip the approval process by default, so there was no way to create attendances requests using the public API.

improved

Employee API: added email filter

We just added an email query parameter to the /company/employees endpoint, which allows you to find an employee with their given email address. The response is still a list, containing only the filtered employee.

improved

Absence API: absence type configuration

In Personio, absence types are very customizable. For example, for a given absence type you can specify whether Half days, Substitutes, Absence certificates or similar options are required or possible. (Find more info here)

added

Employee API: absence balance endpoint

You can now retrieve the current balance per absence type for a given employee by calling the /company/employees/{employee_id}/absences/balance endpoint.

improved

Employee API: custom attribute types

The response of the GET /company/employees /company/employees/{employee_id} and /company/employees/custom-attributes endpoints now returns the attribute type for custom attributes.

improved

Employee API: pagination

Added pagination to the GET employees endpoint to make fetching larger sets of employee data easier. This is not a breaking change – all requests that don't contain the offset and limit parameter will still pull all of employees.