Skip to content

Personnel Data API

by personio.de

API keyHTTPSBusiness
Open documentation ↗

Overview

API for reading and writing personnel data incl. data about attendances and absences

Personnel Data is a business API from personio.de. Requests are authenticated with an API key. It is served over HTTPS. Its OpenAPI description documents 13 endpoints.

At a glance

Authentication
API key
HTTPS
Yes
CORS
Unknown
Category
Business
Base URL
https://api.personio.de/v1
Version
1.0
Endpoints
13
Spec updated
2021-04-07

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://api.personio.de/v1/company/attendances" \
  -H "Accept: application/json" \
  -H "X-API-Key: YOUR_API_KEY"
JavaScript
const response = await fetch("https://api.personio.de/v1/company/attendances", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "X-API-Key": "YOUR_API_KEY",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://api.personio.de/v1/company/attendances",
    headers={
    "Accept": "application/json",
    "X-API-Key": "YOUR_API_KEY",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/company/attendancesThis endpoint is responsible for fetching attendance data for the company employees. It is possible to paginate results, filter by period, the date and/or time
POST/company/attendancesThis 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.
PATCH/company/attendances/{id}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
DELETE/company/attendances/{id}This endpoint is responsible for deleting attendance data for the company employees.
GET/company/employeesList Employees
POST/company/employeesCreate an employee
GET/company/employees/{employee_id}Show employee by ID
GET/company/employees/{employee_id}/profile-picture/{width}Show employee profile picture
GET/company/time-off-typesProvides a list of available time-off types, for example 'Paid vacation', 'Parental leave' or 'Home office'
GET/company/time-offsThis endpoint is responsible for fetching absence data for the company employees. It is possible to paginate results, filter by period and/or specific employees
POST/company/time-offsThis endpoint is responsible for adding absence data for the company employees.
GET/company/time-offs/{id}Absence Period
DELETE/company/time-offs/{id}This endpoint is responsible for deleting absence period data for the company employees.

Questions

Does the Personnel Data API need an API key?

Yes. The Personnel Data API uses API key authentication; the documentation explains how to get credentials.

Does the Personnel Data API support HTTPS?

Yes, the Personnel Data API is served over HTTPS.

How many endpoints does the Personnel Data API have?

Its OpenAPI description lists 13 endpoints in version 1.0. All of them are shown on this page.

What are alternatives to the Personnel Data API?

Other Business APIs include Gmail, Google Analytics, Apache Superset, Trello, Square.

Compare alternatives →

Listed from APIs.guru (CC0).