ES has a well defined API spec here: https://github.com/elasticsearch/elasticsearch/tree/master/rest-api-spec/api
We should test our API coverage against specific versions. On that note, we should probably explicitly note which versions we support (where support means we strive for 100% coverage) and which we don't (coverage might be incomplete). We could even add methods in the client for determining whether the connected version of ES is officially supported.