[role="xpack"] [[logstash-api-put-pipeline]] === Create or update {ls} pipeline API ++++ Create or update {ls} pipeline ++++ This API creates or updates a {ls} pipeline used for {logstash-ref}/logstash-centralized-pipeline-management.html[{ls} Central Management]. [[logstash-api-put-pipeline-request]] ==== {api-request-title} `PUT _logstash/pipeline/` [[logstash-api-put-pipeline-prereqs]] ==== {api-prereq-title} * If the {es} {security-features} are enabled, you must have the `manage_logstash_pipelines` cluster privilege to use this API. [[logstash-api-put-pipeline-desc]] ==== {api-description-title} Creates a {ls} pipeline. If the specified pipeline exists, the pipeline is replaced. [[logstash-api-put-pipeline-params]] ==== {api-path-parms-title} ``:: (Required, string) Identifier for the pipeline. [[logstash-api-put-pipeline-request-body]] ==== {api-request-body-title} `description`:: (Optional, string) Description of the pipeline. This description is not used by {es} or {ls}. `last_modified`:: (Required, string) Date the pipeline was last updated. Must be in the `yyyy-MM-dd'T'HH:mm:ss.SSSZZ` <> format. `pipeline`:: (Required, string) Configuration for the pipeline. For supported syntax, see the {logstash-ref}/configuration-file-structure.html[{ls} configuration documentation]. `pipeline_metadata`:: (Required, object) Optional metadata about the pipeline. May have any contents. This metadata is not generated or used by {es} or {ls}. `pipeline_settings`:: (Required, object) Settings for the pipeline. Supports only flat keys in dot notation. For supported settings, see the {logstash-ref}/logstash-settings-file.html[{ls} settings documentation]. `username`:: (Required, string) User who last updated the pipeline. [[logstash-api-put-pipeline-example]] ==== {api-examples-title} The following example creates a new pipeline named `my_pipeline`: [source,console] -------------------------------------------------- PUT _logstash/pipeline/my_pipeline { "description": "Sample pipeline for illustration purposes", "last_modified": "2021-01-02T02:50:51.250Z", "pipeline_metadata": { "type": "logstash_pipeline", "version": "1" }, "username": "elastic", "pipeline": "input {}\n filter { grok {} }\n output {}", "pipeline_settings": { "pipeline.workers": 1, "pipeline.batch.size": 125, "pipeline.batch.delay": 50, "queue.type": "memory", "queue.max_bytes": "1gb", "queue.checkpoint.writes": 1024 } } -------------------------------------------------- If the request succeeds, you receive an empty response with an appropriate status code.