Cannot construct instance of `org.camunda.bpm.engine.rest.dto.VariableValueDto

In an external application I manipulate the variables of a process and then feed it back to the engine via REST as JSON. However deserialization fails and after some digging with Postman I get this error:

Cannot construct instance of `org.camunda.bpm.engine.rest.dto.VariableValueDto` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('8')

I have a custom dto class to deserialize to but can’t seem to get the Map<String, Object> from the JSON. What do I need to do?