I’d pick protobuf. Or json with schema if json is preferred.
Schema works on machines, good documentation is work for humans.