When you say specify fields, you mean the returned data should be what you exactly need?(based on the specified fields), in this case, it is doable but not that common, if I misunderstood your question, please clarify.
Fields parameter is only applicable for "get all" type of API endpoints. In my opinion, it makes API more flexible, particularly it becomes easier for developers to massage the fetched data, save processing power and internet traffic. Currently, you have many endpoints to retrieve different information about a single bitcoin address (like details, UTXO, history, balance, etc). You could also add another endpoint that retrieves the information about all the funded addresses in the blockchain. Without fields specified, a response may contain full information about each address. But with fields, the following will occur:
Request:
curl `https://btc.merapi.io/addresses?fields=balance`
Response:
[
{
"address": "bc1qd073gqts3cmquwqh9cha39y5lrvuffjfp5zef9",
"scripthash": "86d0f61cd7154038ef031e4b91abdb04fd9835b02c8bb39706d34945a949d040",
"confirmed": 36453,
"unconfirmed": 1000,
"summary": 37453,
"count": 34,
},
{
...
}
]
BTW , if you don't mind me asking, do you have any specific use case for it?
Not yet, but look at the link under my avatar: it a simple web application for signing and verification of bitcoin messages with backend written in Python. In the future, I am planning to rewrite it in Javascript or something and add some other interesting features besides message manipulations. Your API may come in handy.