Value not saved in a PUT API call

I have a Data Page API that works as both a GET and a PUT (AllowPUT = True). One value was not saved to the database when sent as part of the request payload. This is a list of things to check when such an issue happens:

  • check the spelling
  • check that the field is really part of the API data structure, it can be set in the entity as ExcludeFromAllFields = True
  • check that the XmlMappingType of the entity field matches to what you receive in the payload
  • check if there is a transformation selected for the data page, it might change / rename the fields
  • check row level security rules, there can be a rule on either the field or the entity that can deny modifications, check in the top level packages as the rules can be placed in different packages
  • check state workflows, some change in the data can trigger a state workflow that might be responsible for the data loss

The last was my case - there was a state workflow that ran a sequential workflow with a transformation. As the field with the value loss was added in recent time, it was not added to the transformation with OutputMethod = FullMerge and therefore the value was not saved.