# Kibana import/export dashboard api

**URL:** <https://discuss.elastic.co/t/kibana-import-export-dashboard-api/108180>\
**Category:** Kibana\
**Created:** [November 17, 2017, 5:47pm UTC](https://discuss.elastic.co/t/kibana-import-export-dashboard-api/108180 "2017-11-17T17:47:50Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![tsullivan93](https://avatars.discourse-cdn.com/v4/letter/t/58956e/32.png) [@tsullivan93](https://discuss.elastic.co/u/tsullivan93)\
**Post date:** [November 17, 2017, 5:47pm UTC](https://discuss.elastic.co/t/kibana-import-export-dashboard-api/108180/1 "2017-11-17T17:47:50Z")

</div>

Is there any documentation on how to use the new import/export dashboard api for kibana?

---

<div class="post-metadata">

**Author:** ![chrisronline](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chrisronline/32/28230_2.png) [@chrisronline](https://discuss.elastic.co/u/chrisronline)\
**Post date:** [November 17, 2017, 6:04pm UTC](https://discuss.elastic.co/t/kibana-import-export-dashboard-api/108180/2 "2017-11-17T18:04:30Z")

</div>

Hi @tsullivan93,

I'm not sure what you're referring to. Do you have a link available that talks about this new api?

Thanks,  
Chris

---

<div class="post-metadata">

**Author:** ![tsullivan93](https://avatars.discourse-cdn.com/v4/letter/t/58956e/32.png) [@tsullivan93](https://discuss.elastic.co/u/tsullivan93)\
**Post date:** [November 17, 2017, 6:20pm UTC](https://discuss.elastic.co/t/kibana-import-export-dashboard-api/108180/3 "2017-11-17T18:20:20Z")

</div>

Hi Chris!

I've seen it mentioned a couple places. This PR

> <https://github.com/elastic/kibana/pull/10858>
>
> This PR creates an import / export API for dashboards. The current implementatio…n under \`Mangement \> Saved Objects\` allows you to only export \`everything\` or individual dashboards (with out the supporting saved objects like searches, visualizations or index patterns). This creates 2 API endpoints at \`/api/kibana/dashboards/export\` and \`/api/kibana/dashboards/import\`. The user can POST to the export end point an array of dashboard IDs. The response will contain ALL (searches, index patterns, visualizations, etc) the objects needed for that dashboard in an object with a version. To import a dashboard (an all of it's supporting objects) the user can POST the same object returned from the export endpoint to the import endpoint. The import endpoint will check the version and try and upgrade the objects if they are from a previous version; and import them into the \`.kibana\` index; skipping existing objects.

and in the metricbeat dashboard documentation for how it imports its dashboards it mentions

> Starting with Beats 6.0.0, the dashboards are loaded via the Kibana API

> **[Load Kibana dashboards | Metricbeat Reference \[8.11\] | Elastic](https://www.elastic.co/guide/en/beats/metricbeat/current/load-kibana-dashboards.html)**

---

<div class="post-metadata">

**Author:** ![chrisronline](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chrisronline/32/28230_2.png) [@chrisronline](https://discuss.elastic.co/u/chrisronline)\
**Post date:** [November 17, 2017, 6:30pm UTC](https://discuss.elastic.co/t/kibana-import-export-dashboard-api/108180/4 "2017-11-17T18:30:25Z")

</div>

Hi @tsullivan93,

Unfortunately, I don't think there any official docs for that feature yet. The PR description talks about both endpoints with some degree of specificity and there might be comments in the PR that detail them more.

If you have any specific questions about it, I can try and help with that too.

Thanks,  
Chris

---

<div class="post-metadata">

**Author:** ![tsullivan93](https://avatars.discourse-cdn.com/v4/letter/t/58956e/32.png) [@tsullivan93](https://discuss.elastic.co/u/tsullivan93)\
**Post date:** [November 17, 2017, 6:48pm UTC](https://discuss.elastic.co/t/kibana-import-export-dashboard-api/108180/5 "2017-11-17T18:48:59Z")

</div>

Essentially what I would like to be able to do is build a dashboard in kibana, export the dashboard I built and get the json object for it so I can use that as a template for future metricbeat installs via the import api that metricbeat uses

---

<div class="post-metadata">

**Author:** ![chrisronline](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chrisronline/32/28230_2.png) [@chrisronline](https://discuss.elastic.co/u/chrisronline)\
**Post date:** [November 17, 2017, 7:05pm UTC](https://discuss.elastic.co/t/kibana-import-export-dashboard-api/108180/6 "2017-11-17T19:05:02Z")

</div>

Hitting `<kibana>/api/kibana/dashboards/export?dashboard=<dashboard_id>` returns the same structure as [the dashboards from metricbeat](https://github.com/elastic/beats/blob/master/packetbeat/_meta/kibana/default/dashboard/Packetbeat-overview.json). I think should work for you.

If you want to do multiple, `<kibana>/api/kibana/dashboards/export?dashboard=<dashboard_id>&dashboard=<dashboard_id>`

Lemme know if that helps!

---

<div class="post-metadata">

**Author:** ![tsullivan93](https://avatars.discourse-cdn.com/v4/letter/t/58956e/32.png) [@tsullivan93](https://discuss.elastic.co/u/tsullivan93)\
**Post date:** [November 17, 2017, 7:20pm UTC](https://discuss.elastic.co/t/kibana-import-export-dashboard-api/108180/7 "2017-11-17T19:20:39Z")

</div>

That was exactly what I needed! Thanks Chris!

---

<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:** [December 15, 2017, 7:20pm UTC](https://discuss.elastic.co/t/kibana-import-export-dashboard-api/108180/8 "2017-12-15T19:20:45Z")

</div>

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