Too Long; Didn't Read
There are many approaches to solving the problem of developing an API that must be a specification. The ideal situation would be when your backing provides the most complete spec, which will describe all the methods used by clients, as well as all transmitted and received data and possible errors. But this is not the case everywhere, so we must strive for the best. For a feature to appear, some code must appear anyway - and yes, we will not write it, but there will be a code generator.