This is one of those situations where simple fights easy.
* The single entity approach is simple: every time you have a request body, it works the exact same way.
* The parameters approach is easy: once you understand how it works, you can save some boilerplate.

I've preferred easy over simple a few times in my career, and I only end up delighting myself. Everyone else ends up not really understanding how the system works, and getting frustrated when it doesn't work exactly as they'd expected. In this case it only "Just Works" only as long as you're using JSON for all parameters.

(Example: Dagger is simple, Guice is easy.)