Can logger level set per API request?

Well, unfortunately not really, at least not without some hacking. There is PR in OTP that would provide such functionality, but it is stalled in discussion:

https://github.com/erlang/otp/pull/2384

Currently the only possible approach is to increase default verbosity and then do manual filtering in front of the filter pipeline, but this can be a little bit problematic approach as it may cause unneeded performance degradation and in case of filter failures, it may DoS the service with logs volume.