A lot of APIs use REST as their way of exposing the API. REST's main advantage is that there is no state. Every request is isolated. For microservices to communicate with each other, this isn't a bad idea. You never know when you need to communicate, and when you do need to communicate, it is usually single queries asking for or sending information.
On the other hand, you might have heard about WebSockets. They are the simple idea of sockets being used in a public space. Sockets are a very basic way of how computers communicate with each other. Typically, they don't define the interface for you, but they do allow you to send raw bytes of data. The main difference between socket connections and REST connections is that sockets have a state. When you connect to another service through a (web) socket, you are opening the connection, communicating...