# 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)