[[append-processor]]
=== Append processor
++++
<titleabbrev>Append</titleabbrev>
++++


Appends one or more values to an existing array if the field already exists and it is an array.
Converts a scalar to an array and appends one or more values to it if the field exists and it is a scalar.
Creates an array containing the provided values if the field doesn't exist.
Accepts a single value or an array of values.

[[append-options]]
.Append Options
[options="header"]
|======
| Name      | Required  | Default  | Description
| `field`   | yes       | -        | The field to be appended to. Supports <<template-snippets,template snippets>>.
| `value`   | yes       | -        | The value to be appended. Supports <<template-snippets,template snippets>>.
| `allow_duplicates` | no | true  | If `false`, the processor does not append
values already present in the field.
| `media_type` | no | `application/json` | The media type for encoding `value`. Applies only when `value` is a
<<template-snippets,template snippet>>. Must be one of `application/json`, `text/plain`, or
`application/x-www-form-urlencoded`.
include::common-options.asciidoc[]
|======

[source,js]
--------------------------------------------------
{
  "append": {
    "field": "tags",
    "value": ["production", "{{{app}}}", "{{{owner}}}"]
  }
}
--------------------------------------------------
// NOTCONSOLE
