Ask a Question

BadRequest when trying to post attendance record

Hello, I am trying to post multiple attendance records for an employee using the personio api. But I always get a BadRequest error in the response. I tried the exact same post body example with attendances in my code but still all I get in the response is "please enter attendances". This is how I execute and create the request: // Post new slots var request = new RestRequest("company/attendances?", Method.Post); request.AddHeader("accept", "application/json"); request.AddHeader("content-type", "application/json"); request.AddHeader("authorization", personioToken); request.AddParameter("attendances", Attendance.TimeSlot.getJsonPost(toPost.ToArray(), pEmpId), ParameterType.RequestBody); var response = client.Execute(request); personioToken = extractToken(response); This is how I build the attendances value as JsonFormat from my TimeSlot object: public static string getJsonPost(TimeSlot[] timeSlots, int pEmpId) { string jsonFormat = ""; jsonFormat += "{\"attendances\":["; foreach (TimeSlot timeSlot in timeSlots) { jsonFormat += "{" + "\"employee\":" + pEmpId + ",\"date\":\"" + timeSlot.date.ToString("yyyy-MM-dd") + "\",\"start_time\":\"" + timeSlot.start_time.ToString("HH:MM") + "\",\"end_time\":\"" + timeSlot.end_time.Value.ToString("HH:MM") + "\",\"break\":" + timeSlot.getTotalMinBreak() + ",\"project_id\": null" + ",\"comment\":\"" + timeSlot.comment + "\"" + "}"; if (timeSlot != timeSlots.Last()) jsonFormat += ","; } jsonFormat += "]}"; return jsonFormat; }

Need the ability to filter Employee API by date created/modifed

I'm working on an integration which syncs data in Personio with data in AirTable. This should happen every 15 minutes. Owing to limitations in both APIs, the current solution is requesting ALL the data from both sources, comparing the records, and then updating AirTable accordingly. This is not very efficient as most of the data in Personio is not changing and the amount of data is constantly growing on both sides. A more efficient way to do this would be to request from Personio which Employees are new or have had updates since some particular time, and then use this information to update AirTable. The ideal solution might even allow us to request just the change history.

Attendances - updated_at

Hi, Is it possible that the "updated_at" timestamp (sometimes) isn't updated if the status was changed from pending to confirmed? If you need more details I could provide an id and further information. Thank you, Michael

Change the API results language

Currently I'm getting all attributes labels in EN, even if DE is set up for the account. How can I change the language, preferrably per request?

Recruting API Auth

Hello dear Personio people, What is the auth flow for the endpoint: https://api.personio.de/v1/recruiting/applications I have tried to get the Bearer token from the https://api.personio.de/v1/auth endpoint with the Company-ID (Unternehmens-ID) and Client-Secret (Zugriffs-Token), but all I get is an error message "Wrong credentials". I have tried to set all headers from the documentation and also tried to directly post from the Swagger Documentation (https://developer.personio.de/reference/post_v1-recruiting-applications) but nothing seems to work and the auth fails. I am trying use the new endpoint since https://api.personio.de/recruiting/applicant is deprecated, but I have tried the deprecated endpoint and the application worked like charm.

Waiting Feedback Request Overview

Gibt es eine Möglichkeiten eine Übersicht sich anzeigen zu lassen, über ausstehende Feedback-Anfragen? Is there a way to display an overview of pending requested Feedback?

Can't authenticate using the v1/company/employees REST API

Hello. I'm using Power Query in Power BI Desktop to fetch data. I've already created the code to get a token from$ /v1/auth using the client_id and client_secret and pass that Bearer token to /v1/company/employees but the query breaks from that point and I'm not authorized for some weird reasons. This code worked few weeks back but now doesn't. Everything works smoothly in Postman by the way Anyone here successfully using Power Query to get data from Personio?