There are two ways, in which you can design your API – you can create it for applications or you can create it for users. Historically, APIs were created for applications, what, I believe, was wrong. Your API is another your service, so it should be as friendly to the end user as possible, just like your normal services. And, it’s the user (e.g., a developer), that uses your API, not an application, that he/she is possibly writing (thus, some users can use your API through command-line CURL).
This is the approach, which is propagated by such famous API designers as Apigee and which was also taken by Kayako, when we were designing our API. And, that’s why we decided to use the current approach for the partial output, which we implemented with the help of the special fields=
argument, that should be specified in the request URI.