API Conventionsedit

Generic Parametersedit

By default, all api methods accept the following parameters. They are omitted from the param lists of each method for brevity.


String — The HTTP method to use for this request. All of the API methods have their own default.


String, Anything — The body to send along with this request. If the body is a string it will be passed along as is, otherwise it is passed to the serializer and converted to either JSON or a newline separated list of JSON objects based on the API method.


the bodybuilder, elastic-builder or elastic.js libraries can be used to make building request bodies simpler.


Number, Number[] — HTTP status codes which should not be considered errors for this request.


String|String[] — Starting in elasticsearch 1.6 the filterPath parameter can be passed to any API to filter its reponse values. See the elasticsearch response filtering docs for more information.

Config values you can override per requestedit

Callbacks or Promisesedit

When a callback is passed to any of the API methods, it will be called with (err, response, status). If you prefer to use promises, don’t pass a callback and a promise will be returned. The promise will either be resolved with the response body, or rejected with the error that occured (including any 300+ response for non "exists" methods).

Both styles of calling the API will return an object (either a promise or just a plain object) which has an abort() method. Calling that abort method ends the HTTP request, but it will not end the work Elasticsearch is doing.