Create or update pipeline APIedit

Creates or updates an ingest pipeline. Changes made using this API take effect immediately.

PUT _ingest/pipeline/my-pipeline-id
  "description" : "My optional pipeline description",
  "processors" : [
      "set" : {
        "description" : "My optional processor description",
        "field": "my-keyword-field",
        "value": "foo"


PUT /_ingest/pipeline/<pipeline>


  • If the Elasticsearch security features are enabled, you must have the manage_pipeline, manage_ingest_pipelines, or manage cluster privilege to use this API.

Path parametersedit

(Required, string) ID of the ingest pipeline to create or update.

Query parametersedit

(Optional, time units) Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. Defaults to 30s.

Request bodyedit

(Optional, string) Description of the ingest pipeline.

(Optional, array of processor objects) Processors to run immediately after a processor failure.

Each processor supports a processor-level on_failure value. If a processor without an on_failure value fails, Elasticsearch uses this pipeline-level parameter as a fallback. The processors in this parameter run sequentially in the order specified. Elasticsearch will not attempt to run the pipeline’s remaining processors.

(Required, array of processor objects) Processors used to preform transformations on documents before indexing. Processors run sequentially in the order specified.

(Optional, integer) Version number used by external systems to track ingest pipelines.

This parameter is intended for external systems only. Elasticsearch does not use or validate pipeline version numbers.