Create a new document in Kuzzle and instantiate a Document object.

createDocument(Document, [options], [callback])

Arguments Type Description
Document object Document object
options JSON object Optional parameters
callback function Optional callback

createDocument([id], content, [options], [callback])

Arguments Type Description
id string Optional document identifier
content JSON object Content of the document to create
options JSON object Optional parameters
callback function Optional callback


Option Type Description Default
volatile JSON object Additional information passed to notifications to other users null
queuable boolean Make this request queuable or not true
refresh string If set to wait_for, Kuzzle will wait for the persistence layer to finish indexing (available with Elasticsearch 5.x and above) undefined
ifExist string If the same document already exists: resolves to an error. Replaces the existing document if set to replace false

Return Value

Returns the Collection object to allow chaining.

Callback Response

Returns a Document object containing the newly created document.


Copied to clipboard!

Document myDocument = new Document(collection);
myDocument.setContent("title", "foo");
myDocument.setContent("content", "bar");

Options opts = new Options();
opts.setIfExist = "replace";

  .collection("collection", "index")
  .createDocument(myDocument, new ResponseListener<Document>() {
    public void onSuccess(Document object) {
      // callback called once the create action has been completed
      // => the result is a Document object

  public void onError(JSONObject error) {
    // Handle error