Discussions

Ask a Question
Back to all

Missing label in custom_attributes of persons and undocumented 431 error

(edited)

Hello,

the response to the GET endpoints https://api.personio.de/v2/persons and https://api.personio.de/v2/persons/{id} totally lacks of the documented field label in the array custom_attributes. When can we expect this to be fixed?

Despite that in the API settings in Personio the selectable custom attributes are only labelled as dynamic_<someId> with global_Id of custom_attribute of the endpoints above or simply the key of the endpoint https://api.personio.de/v1/company/employees/attributes. To find out the dynamic_ value of the attributes I want to enable, I have to enable random attributes and call the V1 endpoint above to hope to find the right attribute. And all this because the selection is not translated.

But why don't you simply look up the ID in Personio?
Because https://your-company.app.personio.com/configuration/custom-fields only lists the id (V2 endpoints) or universal_id (V1 endpoint) and I have to map it to the other ID used by the API settings page.

But why don't you simply enable all attributes in the API settings and disable unused afterwards?
When I enable all attributes I get an error 431 (Request Header Fields Too Large). Neither this behaviour is documented nor how many attributes can be enabled.

EDIT: https://api.personio.de/v1/company/employees/attributes endpoint works with all attributes enabled but I get still a 431 error on the persons endpoints.

EDIT: The attribute selection in Personio API settings are translated now (2026-05-12). Maybe this was a temporary bug. But the key topic of this post are still existing: Labels are missing in persons endpoints and an undocumented limit of attributes leads to an undocumented error at this endpoint.