just/mocks_
mockzilla.org →
Catalog /hris /Personio Personnel Data

Personio Personnel Data

PROVIDER · Personio SPEC v1.0 · OpenAPI 3.0.0 MOCK · LIVE
▸ TRY IT
https://api.justmocks.com/personio
Open mock →

Mock the Personio personnel data API to build HR integrations, attendance dashboards, and document workflows without a live Personio tenant.

[01]

About

overview

Mock all 29 endpoints of the Personio Personnel Data API: read and write employees, attendances, absences, documents, and time-off types. Useful for testing HRIS sync jobs, attendance reports, or any integration that talks to Personio without standing up a real tenant.

Endpoints
29 across 6 resource groups
Methods
GET 16 · POST 6 · PATCH 3 · DEL 4 none deprecated
OpenAPI
3.0.0 spec version 1.0
Source spec
182 KB · YAML
[02]

Endpoints

29 operations · 6 resource groups
GET /company/employees
Employees
List Company Employees. Mocked via Mockzilla.
POST /company/employees
Employees
Create an employee
Creates a new employee. If the employee's status is not provided, it will be set based on the hire_date value - if it is in the past, status will be active, otherwise onboarding. This endpoint responds with the id of the created employee in case of success.
PATCH /company/employees/{employee_id}
Employees
Update an employee
Updates an existing employee. Note: Only the fields that are listed in the body example are updatable. Attributes that are not part of the sample request body but are present inside the request are ignored. It's not possible to update the Email field.
GET /company/employees/{employee_id}
Employees
Show employee by ID
GET /company/employees/{employee_id}/absences/balance
Employees
Retrieve the absence balance for a specific employee
GET /company/employees/custom-attributes
Employees
This endpoint is an alias for /company/employees/attributes. Available as a Mockzilla mock endpoint.
GET /company/employees/attributes
Employees
Lists all the allowed atrributes per API credentials including custom (dynamic) attributes.
GET /company/employees/{employee_id}/profile-picture/{width}
Employees
Show employee's profile picture. If profile picture is missing, the 404 error will be thrown. The Profile Picture attribute has to be whitelisted.
GET /company/attendances
Attendances
Fetch attendance data for the company employees. The result can be paginated and filtered by period, the date and/or time they were updated, and/or specific employee/employees. The result contains a list of attendances.
POST /company/attendances
Attendances
This endpoint is responsible for adding attendance data for the company employees. It is possible to add attendances for one or many employees at the same time. The payload sent on the request should be a list of attendance periods, in the form of an array containing attendance period objects.
DEL /company/attendances/{id}
Attendances
This endpoint is responsible for deleting attendance data for the company employees. Mockzilla mock: no signup, no API key.
PATCH /company/attendances/{id}
Attendances
This endpoint is responsible for updating attendance data for the company employees. Attributes are not required and if not specified, the current value will be used. It is not possible to change the employee id.
GET /company/attendances/projects
Projects
Provides a list of all company projects.
POST /company/attendances/projects
Projects
Creates a project into the company account
DEL /company/attendances/projects/{id}
Projects
Deletes a project from the company account
PATCH /company/attendances/projects/{id}
Projects
Updates a project with the given data. Served by the Mockzilla mock runtime.
GET /company/time-off-types
Absences
Provides a list of absence types for absences time unit set to either days or hours. For example 'Paid vacation', 'Parental leave' or 'Home office'.
GET /company/time-offs
Absences
Fetches absence periods for absences with time unit set to days. The result can be paginated and filtered by period and/or specific employee/employees. The result contains a list of absence periods.
POST /company/time-offs
Absences
Adds absence data for absence types with time unit set to days.
DEL /company/time-offs/{id}
Absences
Deletes absence period data for absence types with time unit set to days.
GET /company/time-offs/{id}
Absences
Gets an absence period for absences with time unit set to days. Mocked via Mockzilla.
GET /company/absence-periods
Absences
Fetches absence periods for absences with time unit set to hours. The result can be paginated and filtered by period and/or specific employee/employees. The result contains a list of hourly absence periods.
POST /company/absence-periods
Absences
Adds absence data for absence types with time unit set to hours. Note that creating periods for absence types with certificate requirement enabled is not supported!
DEL /company/absence-periods/{id}
Absences
Deletes absence period data for absence types with time unit set to hours.
GET /company/document-categories
Documents
This endpoint is responsible for fetching all document categories of the company. The result contains a list of document categories.
POST /company/documents
Documents
This endpoint is responsible for uploading documents for the company employees. Available as a Mockzilla mock endpoint.
GET /company/custom-reports/reports
Custom Reports
This endpoint provides you with metadata about existing custom reports in your Personio account, such as report name, report type, report date / timeframe.
GET /company/custom-reports/reports/{report_id}
Custom Reports
This endpoint provides you with the data of an existing Custom Report.
GET /company/custom-reports/columns
Custom Reports
This endpoint provides human-readable labels for report table columns. It is particularly important if you get a report with custom attributes or absence data to match the column IDs to the translation.