The HTableInterface.coprocessorService(...) and HTableInterface.batchCoprocessorService(...) methods were made private in
HBASE-9529, when the coprocessor APIs were seen as unstable and evolving.
However, these methods represent a standard way for clients to use custom APIs exposed via coprocessors. In that sense, they are targeted at general HBase users (who may run but not develop coprocessors), as opposed to coprocessor developers who want to extend HBase.
The coprocessor endpoint API has also remained much more stable than the coprocessor Observer interfaces, which tend to change along with HBase internals. So there should not be much difficulty in supporting these methods as part of the public API.
I think we should drop the @InterfaceAudience.Private annotation on these methods and support them as part of the public HTableInterface.