{
  "bulk": {
    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html",
    "methods": ["POST", "PUT"],
    "url": {
      "path": "/_bulk",
      "paths": ["/_bulk", "/{index}/_bulk", "/{index}/{type}/_bulk"],
      "parts": {
        "index": {
          "type" : "string",
          "description" : "Default index for items which don't provide one"
        },
        "type": {
          "type" : "string",
          "description" : "Default document type for items which don't provide one"
        }
      },
      "params": {
        "wait_for_active_shards": {
          "type" : "string",
          "description" : "Sets the number of shard copies that must be active before proceeding with the bulk operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1)" 
        },
        "refresh": {
          "type" : "enum",
          "options": ["true", "false", "wait_for"],
          "description" : "If `true` then refresh the effected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes."
        },
        "routing": {
          "type" : "string",
          "description" : "Specific routing value"
        },
        "timeout": {
          "type" : "time",
          "description" : "Explicit operation timeout"
        },
        "type": {
          "type" : "string",
          "description" : "Default document type for items which don't provide one"
        },
        "fields": {
          "type": "list",
          "description" : "Default comma-separated list of fields to return in the response for updates, can be overridden on each sub-request"
        },
        "_source": {
          "type" : "list",
          "description" : "True or false to return the _source field or not, or default list of fields to return, can be overridden on each sub-request"
        },
        "_source_exclude": {
          "type" : "list",
          "description" : "Default list of fields to exclude from the returned _source field, can be overridden on each sub-request"
        },
        "_source_include": {
          "type" : "list",
          "description" : "Default list of fields to extract and return from the _source field, can be overridden on each sub-request"
        },
        "pipeline" : {
          "type" : "string",
          "description" : "The pipeline id to preprocess incoming documents with"
        }
      }
    },
    "body": {
      "description" : "The operation definition and data (action-data pairs), separated by newlines",
      "required" : true,
      "serialize" : "bulk"
    }
  }
}
