Ask a Question

Personio Okta Integration

Hello there, Are there any plans for a direct integration to Okta? We would like to sync user data from Personio to Okta and can't use the integration from the marketplace because it requires a DPA with Tray.io. Or do you plan to support SCIM in the near future? Thanks! Tobias

Team filter checkboxes are in a logical AND instead of an OR

I'm trying to set up the "Abscence Timeline" view with my dept. employees and all managers from other departments. In order to show this I select "My direct reports" and "Managers" checkboxes in the "Team" filter. All other filters clear. With that configuration I only get myself as a result. On the other hand if I select only "My direct reports" or only "Managers" checkboxes I get the expected result. A list with employees within that "Team". It seems that the filter is doing a logical AND with the checkboxes selected, when it should be and OR and show both results.

Too Many Requests for url

Hi, Since tonight, I have been receiving the following error message during authentication: 429 Client Error: Too Many Requests for url: https://api.personio.de/v1/auth?client_id=XXX&client_secret=XXX We have been using the API for more than a month and have not yet had any problems with authentication. Moreover, I am not aware that anything has been changed on our site. Strangely enough, authentication works on the page "https://developer.personio.de/reference/post_auth-1". Best, Fabio

REST call returns `forbidden.http.exception`

Hi, I query the /auth endpoint to get the first bearer token and the response is ``` { "success": true, "data": { "token": "<TOKEN>" } } ``` However, using this token in the next request, i.e. for endpoint `https://api.personio.de/v1/company/attendances` the response is ``` { "success": false, "error": { "message": "personio.core.api.exceptions.api.forbidden.http.exception", "code": 0 } ``` What is the problem? The API Key I'm using has read and write access for attendances. Thanks

Recruiting API works only sometimes (Zapier)

I use Zapier to link incoming applications from Typeform to Personio. Since I couldn't get the Zapier integration to work with the Recruiting API, I had to work with a webhook in Zapier. I followed the instructions from the Recruiting API doc but sometimes the transfer works and sometimes it doesn't. I couldn't see any pattern when it works and when it doesn't. This is my JSON body: { "job_position_id": 12345, "first_name": "Max", "last_name": "Mustermann", "email": "[email protected]", "message": "Ausbildung im Bereich: ja", "files": [ { "original_filename": "filename.pdf", "uuid": "123abc123abc", "category": "other" } ], "attributes": [ { "id": "phone", "value": "0123456789" }, { "id":"available_from", "value": "2001-01-01" } ] } I don't know how to solve the problem. Is there any way to use the Recruiting API with Personio's Zapier integration?

When are new API endpoints arriving

Hi! We've been waiting very long for new API functionality, to include work schedule, offices, departments, teams. holidays... only partial information is available by extracting Exmployees data. But lot of information is currently not available. Is there any roadmap for API? Bye

How authorisation works?

Hello, According to the API documentation "Every token is valid for only one request. After each request, a new token is generated and sent back to the user in the authorization (lowercase) header. You can use this token to make the next request." My question is - where is the "authorization" header? I cannot find it. When I make my first request with the original token I receive the following headers and "authorization" is not there. "headers": { "Transfer-Encoding": "chunked", "Connection": "keep-alive", "report-to": "{\"group\":\"csp-endpoint\",\"max_age\":31536000,\"endpoints\":[{\"url\":\"/csp-reports\"}],\"include_subdomains\":true}", "vary": "Accept-Encoding,Origin", "x-frame-options": "DENY", "content-security-policy": "frame-ancestors 'none',report-uri /csp-reports; report-to csp-endpoint; default-src 'self' 'unsafe-inline' 'unsafe-eval' data: https://*.personio.de https://*.personio-internal.de https://*.googleapis.com https://*.userlane.com https://*.ingest.sentry.io https://cdn.pendo.io https://data.pendo.io https://player.vimeo.com https://*.cdn.pendo.io https://*.stripe.com https://api.gohiring.com https://tracking.gohiring.com https://stackpath.bootstrapcdn.com https://personio.zendesk.com https://app.pendo.io https://www.youtube.com https://embedded.tray.io https://*.screenmeet.com wss://*.screenmeet.com https://api.feedback.us.pendo.io https://*.datadoghq.eu/ https://*.split.io/ https://calendly.com https://assets.calendly.com https://*.cronofy.com https://stonly.com/ https://*.stonly.com/ https://personio-stage-payroll-import-svc-ytd.s3.eu-central-1.amazonaws.com https://personio-dev-payroll-import-svc-ytd.s3.eu-central-1.amazonaws.com https://personio-prod-payroll-import-svc-ytd.s3.eu-central-1.amazonaws.com; img-src * data:;", "strict-transport-security": "max-age=31540000; includeSubDomains", "x-xss-protection": "1; mode=block", "x-content-type-options": "nosniff", "Cache-Control": "no-cache, private", "Date": "Tue, 24 Jan 2023 06:14:20 GMT", "Set-Cookie": "personio_session=xxxx; expires=Tue, 24-Jan-2023 16:14:20 GMT; Max-Age=36000; path=/; domain=.personio.de; secure; httponly; samesite=lax", "Content-Type": "application/json", "Content-Length": "22919" }

How to extract salary details from Personio using API calls

Hello, I started testing Personio API and one thing I cannot find out is what calls to use to extract salary information such as recurring items like bonuses or one-time compensations defined in the system? The only thing I can see using the actual fixed salary. Any help is greatly appreciated. Thanks.

Renew Recruiting API token

Hi, is it possible to renew the Recruitng API token if the current token was compromised?

How to get the "Über uns" section via API?

Hello, We retrieve our open positions via the XML feed to display them on our own website. I saw that there is a central section called "Über uns" that is shown in all positions without the need to copy paste this section again and again. I would like to retrieve this section via the API to show it on our own website, however I didn't find an endpoint or way to do this. Is there a way to get this section? Thank you very much. P.S.: I would really like to see an improved API. Currently, I have to retrieve all positions only to filter them client-side for the requested one.