kibana/docs/api/saved-objects/export.asciidoc
Pierre Gayvallet b08c322524
Allow exporting all SO types (#159289)
## Summary

Fix https://github.com/elastic/kibana/issues/150079

Add support for the `*` wildcard for by-type export, allowing to more
easily export all the exportable SO types

```
POST /api/saved_objects/_export
{
   types: '*',
}
```

## Release Note

The savedObjects export API now supports exporting all types using the
`*` wildcard. Please refer to the documentation
for more details and examples.

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-06-12 00:03:54 -07:00

136 lines
No EOL
3.9 KiB
Text

[[saved-objects-api-export]]
=== Export objects API
++++
<titleabbrev>Export objects</titleabbrev>
++++
experimental[] Retrieve sets of saved objects that you want to import into {kib}.
[[saved-objects-api-export-request]]
==== Request
`POST <kibana host>:<port>/api/saved_objects/_export`
`POST <kibana host>:<port>/s/<space_id>/api/saved_objects/_export`
[[saved-objects-api-export-path-params]]
==== Path parameters
`space_id`::
(Optional, string) An identifier for the space. If `space_id` is not provided in the URL, the default space is used.
[[saved-objects-api-export-request-request-body]]
==== Request body
`type`::
(Optional, array|string) The saved object types to include in the export. Use `*` to export all the types.
`objects`::
(Optional, array) A list of objects to export.
`includeReferencesDeep`::
(Optional, boolean) Includes all of the referenced objects in the exported objects.
`excludeExportDetails`::
(Optional, boolean) Do not add export details entry at the end of the stream.
TIP: You must include `type` or `objects` in the request body.
NOTE: The <<savedObjects-maxImportExportSize, `savedObjects.maxImportExportSize`>> configuration setting
limits the number of saved objects which may be exported.
[[saved-objects-api-export-request-response-body]]
==== Response body
The format of the response body is newline delimited JSON. Each exported object is exported as a valid JSON record and separated by the newline character '\n'.
When `excludeExportDetails=false` (the default) we append an export result details record at the end of the file after all the saved object records. The export result details object has the following format:
[source,json]
--------------------------------------------------
{
"exportedCount": 27,
"missingRefCount": 2,
"missingReferences": [
{ "id": "an-id", "type": "visualisation"},
{ "id": "another-id", "type": "index-pattern"}
]
}
--------------------------------------------------
[[export-objects-api-create-request-codes]]
==== Response code
`200`::
Indicates a successful call.
[[ssaved-objects-api-create-example]]
==== Examples
Export all {data-source} saved objects:
[source,sh]
--------------------------------------------------
$ curl -X POST api/saved_objects/_export -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '
{
"type": "index-pattern"
}'
--------------------------------------------------
// KIBANA
Export all {data-source} saved objects and exclude the export summary from the stream:
[source,sh]
--------------------------------------------------
$ curl -X POST api/saved_objects/_export -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '
{
"type": "index-pattern",
"excludeExportDetails": true
}'
--------------------------------------------------
// KIBANA
Export a specific saved object:
[source,sh]
--------------------------------------------------
$ curl -X POST api/saved_objects/_export -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '
{
"objects": [
{
"type": "dashboard",
"id": "be3733a0-9efe-11e7-acb3-3dab96693fab"
}
]
}'
--------------------------------------------------
// KIBANA
Export a specific saved object and it's related objects:
[source,sh]
--------------------------------------------------
$ curl -X POST api/saved_objects/_export -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '
{
"objects": [
{
"type": "dashboard",
"id": "be3733a0-9efe-11e7-acb3-3dab96693fab"
}
],
"includeReferencesDeep": true
}'
--------------------------------------------------
// KIBANA
Export all exportable saved objects and their related objects:
[source,sh]
--------------------------------------------------
$ curl -X POST api/saved_objects/_export -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '
{
"type": "*",
"includeReferencesDeep": true
}'
--------------------------------------------------
// KIBANA