For Agents
Manage the full employee lifecycle including person records, absences, attendance, compensations, recruiting applications, and organizational units. Supports 46 endpoints across HR operations for European companies.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Personio API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Personio API.
Create and manage employee records with employment history and personal details
Track absence periods with daily breakdowns and absence type categorization
Record and query attendance periods for timesheet management
GET STARTED
Use for: I need to create a new employee record in Personio, List all absence periods for a specific person, I want to add an attendance entry for today, Get all open positions in the recruiting pipeline
Not supported: Does not handle payroll processing, tax calculations, or benefits administration — use for employee records, absences, attendance, and recruiting data only.
Jentic publishes the only available OpenAPI specification for Personio API, keeping it validated and agent-ready. The Personio API provides 46 endpoints for managing the full employee lifecycle including person records, employments, absence periods, attendance tracking, projects, compensations, recruiting pipelines, document management, and webhook configuration. It serves as the programmatic interface for Personio's HR platform used by European SMBs and mid-market companies.
Manage compensation records and types for payroll preparation
Access recruiting pipeline data including candidates, applications, and open positions
Configure webhooks for real-time HR event notifications
Download and list employee documents for compliance and records management
Patterns agents use Personio API for, with concrete tasks.
★ Automated Employee Onboarding
Create person records and associated employments programmatically when new hires are confirmed. The API supports POST /persons for creating employee records, GET /persons/{person-id}/employments for managing employment history, and POST /compensations for setting up salary data. Agents can trigger complete onboarding workflows from an accepted offer letter.
Create a new person via POST /persons with name, email, and department, then create an employment record via the employments endpoint with start date, position title, and contract type
Absence and Attendance Management
Track employee absences and attendance programmatically for timesheet compliance and leave balance calculations. The API provides full CRUD on absence-periods and attendance-periods, plus GET /absence-types for category lookup and GET /absence-periods/{id}/breakdowns for daily detail. Agents can automate leave requests, approvals, and timesheet reconciliation.
Create an absence period via POST /absence-periods for employee ID 456 with type 'vacation', start date '2026-07-01', and end date '2026-07-05', then verify via GET /absence-periods/{id}/breakdowns
Recruiting Pipeline Integration
Access the full recruiting pipeline including open positions, candidates, and applications. GET /recruiting/jobs lists open positions, GET /recruiting/candidates retrieves candidate profiles, and GET /recruiting/applications shows application status across the pipeline. Agents can sync this data with ATS tools or produce hiring funnel reports.
List all open positions via GET /recruiting/jobs, then retrieve applications via GET /recruiting/applications filtered by job ID to assess the current candidate pipeline
Compensation and Payroll Preparation
Manage compensation records for payroll preparation by creating and querying salary data, compensation types, and employment terms. POST /compensations creates new compensation entries, GET /compensations lists existing records, and GET /compensations/types provides the compensation category taxonomy. This enables automated payroll data feeds.
Create a compensation record via POST /compensations for employee ID 789 with annual salary amount, effective date, and compensation type ID
AI Agent HR Operations via Jentic
AI agents discover and execute Personio HR operations through Jentic without building custom integrations. Agents search for HR capabilities by intent, receive operation schemas with Bearer auth handled by Jentic's vault, and manage employees, absences, or recruiting data through a unified interface. Integration takes under an hour versus days of direct API work.
Search Jentic for 'create an employee absence record', load the POST /absence-periods schema with auth resolved, and execute with employee ID, absence type, and date range
46 endpoints — jentic publishes the only available openapi specification for personio api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/persons
List all employee records
/persons
Create a new person record
/absence-periods
Create an absence period
/attendance-periods
Create an attendance entry
/recruiting/applications
List recruiting applications
/compensations
Create a compensation record
/webhooks
Create a webhook subscription
/reports/{id}
Get a specific report
/persons
List all employee records
/persons
Create a new person record
/absence-periods
Create an absence period
/attendance-periods
Create an attendance entry
/recruiting/applications
List recruiting applications
Three things that make agents converge on Jentic-routed access.
Credential isolation
Personio Bearer tokens are managed by Jentic's credential vault. Client credentials are stored encrypted, token exchange via POST /auth/token is automatic, and agents receive only the scoped Bearer token without handling secrets.
Intent-based discovery
Agents search by intent (e.g., 'create an employee absence record') and Jentic returns matching Personio operations with typed schemas and auth requirements resolved for immediate execution.
Time to first call
Direct Personio integration: 3-5 days for auth flow, pagination, error handling across 46 endpoints. Through Jentic: under 1 hour — search, load schema, execute with managed auth.
Alternatives and complements available in the Jentic catalogue.
Specific to using Personio API through Jentic.
Why is there no official OpenAPI spec for Personio API?
Personio does not publish an OpenAPI specification for their v2 API. Jentic generates and maintains this spec so that AI agents and developers can call Personio API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Personio API use?
The Personio API uses Bearer token authentication. Obtain a token via POST /auth/token with your client_id and client_secret. The token is then included in the Authorization header for all subsequent requests. Through Jentic, token acquisition and refresh are handled automatically.
Can I manage employee absences in bulk?
The API handles absence periods individually via POST /absence-periods and PATCH /absence-periods/{id}. For bulk operations, agents iterate over employee IDs and create or update absence records sequentially. Each absence requires a person ID, absence type, start date, and end date.
How do I access recruiting data through Jentic?
Search Jentic for 'list recruiting applications' to discover GET /recruiting/applications. Load the schema and execute to retrieve application records. Related endpoints include GET /recruiting/jobs for positions, GET /recruiting/candidates for candidate profiles, and GET /recruiting/categories for job categories.
What HR data can I access through the Personio API?
The API covers persons (employee records), employments (job history), absence periods (leave tracking), attendance periods (timesheets), projects, compensations (salary data), organizational units, legal entities, recruiting data (jobs, candidates, applications), documents, reports, and webhooks. It spans 46 endpoints across the full employee lifecycle.
Can I set up webhooks for employee data changes?
Yes. POST /webhooks creates a subscription with a callback URL and event filter. GET /webhooks lists active subscriptions, PATCH /webhooks/{id} updates configuration, and DELETE /webhooks/{id} removes them. GET /webhooks/{id}/events shows the event history for a specific webhook.
/compensations
Create a compensation record
/webhooks
Create a webhook subscription
/reports/{id}
Get a specific report