[role="xpack"]
[[indices-migrate-to-data-stream]]
=== Migrate to data stream API
++++
Migrate to data stream
++++
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-data-stream[Data stream APIs].
--
Converts an <> to a <>.
////
[source,console]
----
POST idx1/_doc/
{
"message" : "testing",
"@timestamp" : "2020-01-01"
}
POST idx2/_doc/
{
"message" : "testing2",
"@timestamp" : "2020-01-01"
}
POST /_aliases
{
"actions": [
{
"add": {
"index": "idx1",
"alias": "my-logs",
"is_write_index": true
}
},
{
"add": {
"index": "idx2",
"alias": "my-logs"
}
}
]
}
PUT /_index_template/template
{
"index_patterns": ["my-logs*"],
"data_stream": { }
}
----
////
[source,console]
----
POST /_data_stream/_migrate/my-logs
----
// TEST[continued]
////
[source,console]
-----------------------------------
DELETE /_data_stream/my-logs
DELETE /_index_template/template
-----------------------------------
// TEST[continued]
////
[[indices-migrate-to-data-stream-request]]
==== {api-request-title}
`POST /_data_stream/_migrate/`
[[indices-migrate-to-data-stream-prereqs]]
==== {api-prereq-title}
* If the {es} {security-features} are enabled, you must have the `manage`
<> for the index alias.
* A matching <> with data stream enabled.
See <>.
[[indices-migrate-to-data-stream-api-path-params]]
==== {api-path-parms-title}
``::
+
--
(Required, string)
Name of the index alias to convert to a data stream. The alias must meet the
following criteria:
- The alias must have a <>.
- All indices for the alias have a `@timestamp` field mapping of a `date` or `date_nanos` field type.
- The alias must not have any <>.
- The alias must not use <>.
If successful, the request removes the alias and creates a data stream with the
same name. The alias's indices become hidden backing indices for the stream. The
alias's write index becomes the stream's write index.
--