Although providing a binary interface such as a gRPC-based one can give you great performance, in many cases, you'll still want to have the simplicity of a RESTful interface. Hypermedia as the Engine of Application State (HATEOAS) can be a useful principle to implement if you want an intuitive REST-based API.
Just as you would open a web page and navigate based on the hypermedia shown, you can write your services with HATEOAS to achieve the same thing. This promotes the decoupling of server and client code and allows a client to quickly know what requests are valid to send, which is often not the case with binary APIs. The discovery is dynamic and based on the hypermedia provided.
If you take a typical RESTful service, when executing an operation, you get JSON with data such as an object's state. With HATEOAS, aside from that, you would get a list of links (URLs) showing you the valid operations you can run...