At the moment you can set any sort of value via the API, so for example if an input has a step value of 0.1, you can still set that input as 20.0000005.
For example costs_imported_lohc has a step value of 0.1, but can be set as 20.000005 in the engine.
We should validate based on the step value like in ETModel. We have to determine how best to do that, whether we want to round to the nearest step value, or throw a validation error when users try to set an invalid input.
This issue is linked to Need to revise the working of the dependent_on attribute in etmodel #4198