OpenAPI Specification
openapi: 3.1.0
info:
title: Personio Public API v2 Absence Periods Auth API
description: 'Next-generation Personio Public API for HR management data including
persons, absence periods, projects, and webhooks. Authenticates via OAuth
2.0 Client Credentials Grant: exchange a Client ID and Secret at
POST /v2/auth/token for a short-lived Bearer access token, then include
it in the Authorization header of subsequent calls.
Only a representative subset of the public v2 surface (persons, absence
periods, projects, webhooks) is modeled here. See the API reference
linked under externalDocs for the full catalog.
'
version: 1.0.0
contact:
name: Personio Developer Hub
url: https://developer.personio.de/
license:
name: Personio Proprietary
servers:
- url: https://api.personio.de/v2
description: Personio Public API v2 production base URL
security:
- bearerAuth: []
tags:
- name: Auth
description: OAuth 2.0 token exchange.
paths:
/auth/token:
post:
tags:
- Auth
summary: Obtain an OAuth 2.0 access token
description: 'Exchange Personio API credentials (Client ID and Client Secret) for a
short-lived Bearer access token using the OAuth 2.0 Client Credentials
grant.
'
operationId: createAccessToken
security: []
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- grant_type
- client_id
- client_secret
properties:
grant_type:
type: string
enum:
- client_credentials
client_id:
type: string
description: Personio API client identifier.
client_secret:
type: string
description: Personio API client secret.
scope:
type: string
description: Space-separated list of requested scopes.
responses:
'200':
description: Access token issued.
content:
application/json:
schema:
type: object
properties:
access_token:
type: string
token_type:
type: string
example: Bearer
expires_in:
type: integer
scope:
type: string
'401':
description: Invalid credentials.
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: 'Bearer access token obtained from POST /v2/auth/token using the
OAuth 2.0 Client Credentials grant.
'
externalDocs:
description: Personio Developer Hub
url: https://developer.personio.de/