Deveraj, thank you for a well-written and thorough description of API styles. APIs are an important architectural choice when embarking on the implementation of modern cloud-native systems.
The development team I'm on has chosen a very simple messaging API for our microservices architecture:
1) boolean accepted = mailbox.send(target, message)
2) message = mailbox.next()
3) boolean accepted = mailbox.publish(topic, message)
4) message = mailbox.next(topic)
We use REST-style messages and ECST-style events. Because we use reactive actor-model microservices that process REST-style messages, this API has worked very well for us. We use WebSocket servers to interact with browser-side Web applications.
If that is of interest to you, here's a link:
https://medium.com/nerd-for-tech/designing-microservices-4130bc41c046