# Update field mappings **POST /{index}/_mapping** **All methods and paths for this operation:**
PUT /{index}/_mapping
POST /{index}/_mapping
Add new fields to an existing data stream or index. You can use the update mapping API to: - Add a new field to an existing index - Update mappings for multiple indices in a single request - Add new properties to an object field - Enable multi-fields for an existing field - Update supported mapping parameters - Change a field's mapping using reindexing - Rename a field using a field alias Learn how to use the update mapping API with practical examples in the [Update mapping API examples](https://www.elastic.co/docs/manage-data/data-store/mapping/update-mappings-examples) guide. ## Required authorization * Index privileges: `manage` [More about mapping parameters](https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/mapping-parameters) ## Servers - http://api.example.com: http://api.example.com () ## Authentication methods - Api key auth - Basic auth - Bearer auth ## Parameters ### Path parameters - **index** (string | array[string]) A comma-separated list of index names the mapping should be added to (supports wildcards). Use `_all` or omit to add the mapping on all indices. ### Query parameters - **allow_no_indices** (boolean) A setting that does two separate checks on the index expression. If `false`, the request returns an error (1) if any wildcard expression (including `_all` and `*`) resolves to zero matching indices or (2) if the complete set of resolved indices, aliases or data streams is empty after all expressions are evaluated. If `true`, index expressions that resolve to no indices are allowed and the request returns an empty result. - **expand_wildcards** (string | array[string]) Type of index that wildcard patterns can match. If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. Supports comma-separated values, such as `open,hidden`. Supported values include: - `all`: Match any data stream or index, including hidden ones. - `open`: Match open, non-hidden indices. Also matches any non-hidden data stream. - `closed`: Match closed, non-hidden indices. Also matches any non-hidden data stream. Data streams cannot be closed. - `hidden`: Match hidden data streams and hidden indices. Must be combined with `open`, `closed`, or `both`. - `none`: Wildcard expressions are not accepted. - **ignore_unavailable** (boolean) If `false`, the request returns an error if it targets a concrete (non-wildcarded) index, alias, or data stream that is missing, closed, or otherwise unavailable. If `true`, unavailable concrete targets are silently ignored. - **master_timeout** (string) 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. - **timeout** (string) Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. - **write_index_only** (boolean) If `true`, the mappings are applied only to the current write index for the target. ### Body: application/json (object) - **date_detection** (boolean) Controls whether dynamic date detection is enabled. - **dynamic** (string) Controls whether new fields are added dynamically. - **dynamic_date_formats** (array[string]) If date detection is enabled then new string fields are checked against 'dynamic_date_formats' and if the value matches then a new date field is added instead of string. - **dynamic_templates** (array[object]) Specify dynamic templates for the mapping. - **_field_names** (object) Control whether field names are enabled for the index. - **_meta** (object) A mapping type can have custom meta data associated with it. These are not used at all by Elasticsearch, but can be used to store application-specific metadata. - **numeric_detection** (boolean) Automatically map strings into numeric data types for all fields. - **properties** (object) Mapping for a field. For new fields, this mapping can include: - Field name - Field data type - Mapping parameters - **_routing** (object) Enable making a routing value required on indexed documents. - **_source** (object) Control whether the _source field is enabled on the index. - **runtime** (object) Mapping of runtime fields for the index. ## Responses ### 200 #### Body: application/json (object) - **acknowledged** (boolean) For a successful response, this value is always true. On failure, an exception is returned instead. - **_shards** (object) [Powered by Bump.sh](https://bump.sh)