GRPC is rather nice. It has good and well-established practices about backwards compatibility (never ever remove a field), nullability, mapping to traditional HTTP-based endpoints, inline documentation.
The downside is that you need a special tool to accesss it, a plain browser or curl won't work.