Ask a Question

Problemas con endpoint attendances

Hi, We are using the endpoint attendances but we are detecting the following problem. Those requests that have not been approved (orange status) are not returned by the system. Therefore, we cannot perform an internal control analysis. Is there any way to obtain this type of requests which have not yet been approved? Thanks

Break 0

Hello, what can I do if I have no break like worktime from 7 to 11. The API tells me Error 400. When I push with break of 30 minutes - there is no problem. { "attendances": [ { "employee": 123456, "date": "2023-03-24", "start_time": "07:05", "end_time": "11:08" "break": 0 } ] }

Deleted absences

Hi, is there a way to get the deleted absences in API response or something?

Client secrets in query params? Are you serious?

The /auth POST endpoint requires client secrets to be passed as query params, so that my secrets are kept in request logs all over the world? Are you serious? Please change the /auth endpoint to *only* accept secrets as post parameters.

GET Request - Error-Message: "The token has been blacklisted"

Hello everyone, My problem is the following: I want to make a simple get-request to an endpoint. But even when I make the request via your API-Reference Page (https://developer.personio.de/reference/get_company-employees) I get the response: { "success": false, "error": { "message": "The token has been blacklisted", "code": 401 } } What I did so far: - In Personio, I have an administrator role. - In order to get my API credentials (client_id and client_secret) I went to Settings/Integrations/API credentials --> Generate new credentials. Gave me all the reading rights. When I go on your reference page https://developer.personio.de/reference/post_auth-1 and make a request my my client_id and client secret, I get my token. Then, when I copy and paste my token and submit it as token here https://developer.personio.de/reference/get_company-employees I get a 401 response from above. With Python in VSCode, it's the same. I'm able to get the token, but a request to e.g. "https://api.personio.de/v1/company/employees" does not get a response. Please help! :) Thanks!

stundenweise Abwesenheiten werden falsch übergeben [ID: ITS-3184963]

Hallo, wir haben eine Schnittstelle zwischen der Zeiterfassungssoftware von ReinerSCT und Personio entwickelt. Mit dieser werden Daten zwischen den beiden Programmen über die API synchronisiert. Ich habe ein Problem mit der Übertragung von stundenweisen Abwesenheiten nach Personio. Ich habe die Zeiten so übertragen, wie es in Ihrem Developer Hub definiert ist. Ich bekomme auch eine Rückmeldung, dass die Abwesenheit erfolgreich übertragen wurde, allerdings stimmen die angekommenen Daten nicht mit den gesendeten überein. Hier ist der gesendete String: https://api.personio.de/v1/company/absence-periods?employee_id=13080637&time_off_type_id=2201550&start_date=2023-03-10&end_date=2023-03-10&full_day=false&start_time=08:00&end_time=11:00&half_day_start=true&half_day_end=true&comment= und hier die Rückmeldung von Personio: {"success":true,"data":{"type":"AbsencePeriod","attributes":{"id":"73f3b0a4-5de0-4f60-9580-dcfdf88b3fb8","measurement_unit":"hour","effective_duration":420,"employee":{"type":"Employee","attributes":{"id":{"label":"id","value":13080637,"type":"integer","universal_id":"id"},"first_name":{"label":"First name","value":"Daniel","type":"standard","universal_id":"first_name"},"last_name":{"label":"Last name","value":"St\u00f6cker","type":"standard","universal_id":"last_name"},"email":{"label":"Email","value":" [email protected]","type":"standard","universal_id":"email"}}},"absence_type":{"type":"AbsenceType","attributes":{"id":"9876ba17-f405-4429-b17b-c99d74574adc","time_off_type_id":2201550,"name":"LAGER Stundenausgleich"}},"certificate":{"status":"not-required"},"start":"2023-03-10T08:00:00Z","end":"2023-03-11T11:00:00Z","half_day_start":false,"half_day_end":false,"comment":"","origin":"api","created_by":13080630,"created_at":"2023-03-14T11:07:43Z","updated_at":"2023-03-14T11:07:43Z","approved_at":"2023-03-14T11:07:43Z","status":"approved","timezone":"Europe\/Berlin","breakdowns":[{"date":"2023-03-10","effective_duration":420},{"date":"2023-03-11","effective_duration":0}]}}} Ich habe eine Abwesenheit von 08:00 bis 12:00 am 10.03.2023 übergeben, und Personio macht daraus eine Abwesenheit von 420 Minuten also 7 Stunden beginnend am 10.03.2023 um 08:00 bis zum 11.03.2023 um 11:00 . Mache ich da was falsch, oder funktioniert ihre API hier nicht richtig? mfg H.Meehsen

Did you Change the company/documents endpoint?

Did you make changes to the https://api.personio.de/v1/company/documents endpoint in the last few days? An upload that worked a week ago does not work anymore and now I get the error: 422 (Unprocessable Entity) I have not changed anything on my side and the request that worked a week ago does not work anymore.

Authorization is not provided - GET Employee Data

I have created a Power Automate flow that uses a POST request with my API client-ID and secret to create a token. This is successful. (NB I have edited the token below) { "success": true, "data": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3sdvMiOiJodHRwczovLcgh2FwaS5wZXJzb25pby5kZS92MS9hdXRoIiwiaWF0IjoxNjc4MjczMTMyLCJleHAiOjE2NzgzNTk1MzIsIm5iZiI6MTY3j,jlODI3MzEzMiwianRpIjoiNWQ1OGY5MzEtYWvvfvvvsdvsdvsdvsdvsdvsdvsdvsdvsdvsdvjLWE2YmUtYWEwMzRhMzM2MWQ3Iiwic3VvfvfdWpGbFl6WXdPVGRqWTJGbVpHVTNOR1ppT1dZNVkySXkiLsdvsdvCJwcnYiOiI3YTEm.5OTQ5OTlkMTgxZGVlYTY4ZTQzMDRiMzM0NmU3OGY4MzhlYsdvs2I3Iiwic2NvcGUiOlsiZW1w,bG95ZWVzOnJlYWQiXX0.PeqyTwaP5nwqjs1xvbJX_ihLg3Udvsdv7loLYbWa1BZG03Ts" } } I then parse the JSON and extract the token to add this into the GET request. Here is the GET: { "uri": "https://api.personio.de/v1/company/employees?limit=200&offset=0", "method": "GET", "headers": { "accept: application/json": "", "authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FwaS5wZXJzb25pby5kZS9asfdsA1MSwiseanRpIjoiMWRkOsdcsdcDIxYjAtNWNhOC00MzkyLWIdxY2ItZjEafdvaxNDQ5NThhMmRkIiwic3ViIjoiWWpGbFl6WXdPVGRqWTJGbVpHVTNOR1ppT1dZNVkySXkiLCJwcnYiOiI3YdcsdcvTE5OTQ5OTlkMTgxZGVsdlYTY4ZTQzMDRiMzM0NmU3OGY4MzhlY2I3Iiwic2NvcGUiOlsiZW1wbG95ZWVzOnJlYWQiXX0.nR9OqJZGl5URr3NAVIaYoaklNZV3gv7bgxNXMHu-yYI": "" } } The Response I then see is: { "statusCode": 401, "headers": { "Transfer-Encoding": "chunked", "Connection": "keep-alive", "vary": "Origin", "x-frame-options": "DENY", "content-security-policy": "frame-ancestors 'none'", "strict-transport-security": "max-age=31536000", "Cache-Control": "no-cache, private", "Date": "Wed, 08 Mar 2023 10:58:52 GMT", "WWW-Authenticate": "jwt-auth", "Content-Type": "application/json", "Content-Length": "80" }, "body": { "success": false, "error": { "message": "Authorization is not provided", "code": 401 } } } I can't see what is going wrong.

POST to /company/employees using example data returns an error

Using the example data from the API reference, creating an employee returns an error: { "employee": { "email": "[email protected]", "first_name": "John", "last_name": "Dou", "gender": "male", "position": "developer", "subcompany": "ACME", "department": "IT", "office": "Madrid", "hire_date": "2020-01-31", "weekly_working_hours": 40, "status": "active", "supervisor_id": 5, } } { "success": false, "error": { "message": "The given data was invalid.", "code": 0, "error_data": { "employee.first_name": [ "Bitte geben Sie employee.first name ein, um fortzufahren." ], "employee.last_name": [ "Bitte geben Sie employee.last name ein, um fortzufahren." ], "employee.email": [ "Bitte geben Sie employee.email ein, um fortzufahren." ] } } }

Error "personio.core.api.exceptions.api.not.found.http.exception" when creating application

Hi, we're using the API to create applicants in personio accounts but in some cases we're getting back the error "personio.core.api.exceptions.api.not.found.http.exception" (other cases work perfectly fine). Can anyone explain to me what this error is about? We have not found a pattern yet.