Best Answer

Issue with PUT /manage/v1/user/{id}

  • 8 June 2023
  • 4 replies
  • 62 views

Hello community,

I am seeking assistance with an issue I've encountered. I am attempting to update a user's additional fields using the PUT /manage/v1/user/{id} endpoint. However, I'm facing some challenges and would appreciate your help.

The message structure I'm using for the update is as follows:

{
    "userid": "test@test.com",
    "email": "test@test.com",
    "additional_fields": {
        "3": "Finland",
        "4": "No"
    }
}

Upon sending the request, I receive a response indicating "success." However, I've noticed that the additional fields are not being updated as expected. To make matters worse, if the user already had some values in these fields, they are being replaced to “blank” by my request.

Thank you in advance for your support.

 

 

icon

Best answer by NataljaB 9 June 2023, 14:15

View original

4 replies

Userlevel 5
Badge +2

@NataljaB - iirc, for updating users add fields via API, you’ll need to send the full payload (including fields you are not changing) for all fields. Since it’s a PUT request and not a PATCH, it’s just how that endpoint (PUT/manage/v1/user/{id) was designed.

@John During my test, I successfully modified the "firstname" and "lastname" fields using a truncated payload.

Furthermore, in another discussion, it was concluded by Docebo that a temporary workaround to fix the API bug is to include an email in the request body. This information can be found in the following link: https://community.docebo.com/integrations-apis-45/issues-with-api-put-manage-v1-user-userid-1868

If your response regarding the requirement to provide the complete payload every time we need to update a few user fields is accurate, it indicates a poorly designed API by Docebo.

I received a response from the support team regarding my inquiry. According to them, it is indeed possible to update a user using a truncated payload. However, the reason why my attempt to update an additional field was unsuccessful is that I should pass the value ID instead of the actual value to the pick-list field #3, and "false" or "true" to the boolean field #4.

I hope that sharing my experience will be beneficial to others as well, as the API documentation may not provide sufficient information in this regard.

  

Userlevel 5
Badge +2

I received a response from the support team regarding my inquiry. According to them, it is indeed possible to update a user using a truncated payload. However, the reason why my attempt to update an additional field was unsuccessful is that I should pass the value ID instead of the actual value to the pick-list field #3, and "false" or "true" to the boolean field #4.

I hope that sharing my experience will be beneficial to others as well, as the API documentation may not provide sufficient information in this regard.

  

-- Amazing update, @NataljaB! Glad the team was able to come back with such a detailed reply!

When in doubt on expected technical functionality, especially the API and it’s requirements/params/etc, always best to check in with Docebo’s Support team. Through Inquiry we can liaise with the Product team for official confirmation. :) 

Reply