# How can I migrate my v6 dashboards to v7

**URL:** <https://discuss.elastic.co/t/how-can-i-migrate-my-v6-dashboards-to-v7/218587>\
**Category:** Kibana\
**Created:** [February 10, 2020, 12:33pm UTC](https://discuss.elastic.co/t/how-can-i-migrate-my-v6-dashboards-to-v7/218587 "2020-02-10T12:33:15Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![stephen.palfreyman](https://avatars.discourse-cdn.com/v4/letter/s/848f3c/32.png) [@stephen.palfreyman](https://discuss.elastic.co/u/stephen.palfreyman)\
**Post date:** [February 10, 2020, 12:33pm UTC](https://discuss.elastic.co/t/how-can-i-migrate-my-v6-dashboards-to-v7/218587/1 "2020-02-10T12:33:16Z")

</div>

In kibana 6.8.0 saved visualizations have an element called uiStateJSON, which has been deprecated in kibana 7 (in [https://github.com/elastic/kibana/issues/15204](https://github.com/elastic/kibana/issues/15204) & [https://github.com/elastic/kibana/pull/14949](https://github.com/elastic/kibana/pull/14949)). However, it seems that there is no migration tool and after upgrading to 7 kibana is not able to migrate the kibana index, with error:

FATAL Error: mapping set to strict, dynamic introduction of [uiStateJSON] within [dashboard] is not allowed.

Can someone advise how to update my dashboards (saved as JSON objects and deployed via kibana import dashboards API)?

---

<div class="post-metadata">

**Author:** ![Mikhail\_Shustov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mikhail_shustov/32/49186_2.png) [@Mikhail\_Shustov](https://discuss.elastic.co/u/Mikhail_Shustov)\
**Post date:** [February 10, 2020, 1:38pm UTC](https://discuss.elastic.co/t/how-can-i-migrate-my-v6-dashboards-to-v7/218587/2 "2020-02-10T13:38:11Z")

</div>

> [@stephen.palfreyman](#):
>
> uiStateJSON

Hi. There is a solution posted by another user [Kibana 6.8 to 7.3 fails: [uiStateJSON] within [dashboard] is not allowed - #2 by cawoodm](https://discuss.elastic.co/t/kibana-6-8-to-7-3-fails-uistatejson-within-dashboard-is-not-allowed/196312/2)

---

<div class="post-metadata">

**Author:** ![stephen.palfreyman](https://avatars.discourse-cdn.com/v4/letter/s/848f3c/32.png) [@stephen.palfreyman](https://discuss.elastic.co/u/stephen.palfreyman)\
**Post date:** [February 10, 2020, 1:47pm UTC](https://discuss.elastic.co/t/how-can-i-migrate-my-v6-dashboards-to-v7/218587/3 "2020-02-10T13:47:43Z")

</div>

Unfortunately this doesn't help if uiStateJSON is populated, as their solution was simply to "Edit this JSON file and remove all `uiStateJSON` elements from the JSON"

---

<div class="post-metadata">

**Author:** ![Mikhail\_Shustov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mikhail_shustov/32/49186_2.png) [@Mikhail\_Shustov](https://discuss.elastic.co/u/Mikhail_Shustov)\
**Post date:** [February 10, 2020, 3:03pm UTC](https://discuss.elastic.co/t/how-can-i-migrate-my-v6-dashboards-to-v7/218587/4 "2020-02-10T15:03:10Z")

</div>

Ok, I see. Do you have any warnings related to the migration in the logs? What Kibana version are you migrating to?

---

<div class="post-metadata">

**Author:** ![stephen.palfreyman](https://avatars.discourse-cdn.com/v4/letter/s/848f3c/32.png) [@stephen.palfreyman](https://discuss.elastic.co/u/stephen.palfreyman)\
**Post date:** [February 10, 2020, 5:15pm UTC](https://discuss.elastic.co/t/how-can-i-migrate-my-v6-dashboards-to-v7/218587/5 "2020-02-10T17:15:01Z")

</div>

Hi @Mikhail_Shustov, thanks for getting back to me.

I am upgrading from 6.8.0 to 7.5.2 and the only error I get in the logs is  
"FATAL Error: mapping set to strict, dynamic introduction of [uiStateJSON] within [dashboard] is not allowed"

We have thousands of dashboards, but we have things such as uiStateJSON set to:  
`"uiStateJSON": "{\"P-1\":{\"vis\":{\"legendOpen\":false}},\"P-2\":{\"vis\":{\"legendOpen\":false}},\"P-5\":{\"vis\":{\"legendOpen\":false}},\"P-4\":{\"vis\":{\"legendOpen\":false}},\"P-6\":{\"vis\":{\"legendOpen\":false}}}",`  
or  
`"uiStateJSON" : "{\"P-1\":{\"vis\":{\"colors\":{\"404\":\"#447EBC\",\"2xx\":\"#629E51\",\"3xx\":\"#CCA300\",\"5xx\":\"#C15C17\",\"Bad Request\":\"#447EBC\",\"Other 4xx\":\"#614D93\",\"Unauthorized\":\"#64B0C8\",\"status: 400\":\"#64B0C8\",\"status: 401\":\"#447EBC\",\"status: [200 TO 299]\":\"#508642\",\"status: [300 TO 399]\":\"#CCA300\",\"status: [402 TO 499]\":\"#2F575E\",\"status: [500 TO 599]\":\"#C15C17\"},\"legendOpen\":true}}}",`

Is it possible to still set these at the dashboard level in 7.5.2? Is uiStateJSON still ok to use in visualizations (the import dashboard API has uiStateJSON in the documentation - [https://www.elastic.co/guide/en/kibana/current/dashboard-import-api.html](https://www.elastic.co/guide/en/kibana/current/dashboard-import-api.html))?

Thanks,  
Steve

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 9, 2020, 5:28pm UTC](https://discuss.elastic.co/t/how-can-i-migrate-my-v6-dashboards-to-v7/218587/6 "2020-03-09T17:28:24Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
