Personio website screenshot

Personio

Personio is a European HR management and recruiting platform serving small and mid-sized businesses with a unified HRIS covering employee records, absence management, time tracking, payroll preparation, performance, and applicant tracking. The platform is headquartered in Munich and is widely adopted across Germany, Austria, Switzerland, the UK, the Netherlands, and Spain. Personio exposes a Public API at api.personio.de that supports Bearer token authentication via Client ID/Secret (v1 token endpoint and v2 OAuth 2.0 client credentials flow), with webhooks now available for Person entity events.

2 APIs 0 Features
Human ResourcesHRISRecruitingApplicant TrackingAbsence ManagementTime TrackingEurope HR

APIs

Personio Public API v1

REST API for managing employees, attendances, absences, projects, and recruiting data in Personio. Authentication uses a Client ID/Secret exchanged for a short-lived Bearer toke...

Personio Public API v2

Next-generation REST API with OAuth 2.0 Client Credentials Grant authentication. Token endpoint POST /v2/auth/token returns access tokens used as Bearer credentials on subsequen...

Collections

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
💰
Pricing
Pricing
📝
Signup
Signup
👥
GitHubOrganization
GitHubOrganization
🔗
LlmsText
LlmsText

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Personio Public API v2
  version: 1.0.0
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Auth
    type: folder
  items:
  - info:
      name: Obtain an OAuth 2.0 access token
      type: http
    http:
      method: POST
      url: https://api.personio.de/v2/auth/token
      body:
        type: form-urlencoded
        data:
        - name: grant_type
          value: ''
        - name: client_id
          value: ''
        - name: client_secret
          value: ''
        - name: scope
          value: ''
    docs: 'Exchange Personio API credentials (Client ID and Client Secret) for a

      short-lived Bearer access token using the OAuth 2.0 Client Credentials

      grant.

      '
- info:
    name: Persons
    type: folder
  items:
  - info:
      name: List persons
      type: http
    http:
      method: GET
      url: https://api.personio.de/v2/persons
      params:
      - name: limit
        value: ''
        type: query
      - name: cursor
        value: ''
        type: query
        description: Opaque pagination cursor.
    docs: Returns a paginated list of persons (employees).
  - info:
      name: Create a person
      type: http
    http:
      method: POST
      url: https://api.personio.de/v2/persons
      body:
        type: json
        data: '{}'
    docs: 'Creates a new Person resource and an associated Employment resource.

      '
  - info:
      name: Update a person
      type: http
    http:
      method: PATCH
      url: https://api.personio.de/v2/persons/:person_id
      params:
      - name: person_id
        value: ''
        type: path
        description: Personio person identifier.
      body:
        type: json
        data: '{}'
    docs: Modifies an existing person record.
- info:
    name: Absence Periods
    type: folder
  items:
  - info:
      name: List absence periods
      type: http
    http:
      method: GET
      url: https://api.personio.de/v2/absence-periods
      params:
      - name: limit
        value: ''
        type: query
      - name: cursor
        value: ''
        type: query
    docs: Returns a paginated, filterable list of absence periods.
  - info:
      name: Create an absence period
      type: http
    http:
      method: POST
      url: https://api.personio.de/v2/absence-periods
      body:
        type: json
        data: '{}'
    docs: Create an absence period
- info:
    name: Projects
    type: folder
  items:
  - info:
      name: List projects
      type: http
    http:
      method: GET
      url: https://api.personio.de/v2/projects
    docs: Returns the configured projects.
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: Create a webhook subscription
      type: http
    http:
      method: POST
      url: https://api.personio.de/v2/webhooks
      body:
        type: json
        data: '{}'
    docs: 'Subscribes a callback URL to receive event payloads for selected

      Person events.

      '
  - info:
      name: Delete a webhook subscription
      type: http
    http:
      method: DELETE
      url: https://api.personio.de/v2/webhooks/:webhook_id
      params:
      - name: webhook_id
        value: ''
        type: path
    docs: Delete a webhook subscription
bundled: true