Import objects APIedit

[experimental] This functionality is experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features. Create a set of Kibana saved objects from a file created by the export API.

Requestedit

POST /api/saved_objects/_import

Query parameteredit

overwrite
(Optional, boolean) Overwrites saved objects.

Request bodyedit

The request body must include the multipart/form-data type.

file
A file exported using the export API.

Response bodyedit

success
Top-level property that indicates if the import was successful.
successCount
Indicates the number of successfully imported records.
errors
(array) Indicates the import was unsuccessful and specifies the objects that failed to import.

Response codeedit

200
Indicates a successful call.

Examplesedit

Import an index pattern and dashboard:

$ curl -X POST "localhost:5601/api/saved_objects/_import" -H "kbn-xsrf: true" --form file=@file.ndjson 

The file.ndjson file contains the following:

{"type":"index-pattern","id":"my-pattern","attributes":{"title":"my-pattern-*"}}
{"type":"dashboard","id":"my-dashboard","attributes":{"title":"Look at my dashboard"}}

The API returns the following:

{
  "success": true,
  "successCount": 2
}

Import an index pattern and dashboard that includes a conflict on the index pattern:

$ curl -X POST "localhost:5601/api/saved_objects/_import" -H "kbn-xsrf: true" --form file=@file.ndjson

The file.ndjson file contains the following:

{"type":"index-pattern","id":"my-pattern","attributes":{"title":"my-pattern-*"}}
{"type":"dashboard","id":"my-dashboard","attributes":{"title":"Look at my dashboard"}}

The API returns the following:

{
  "success": false,
  "successCount": 1,
  "errors": [
    {
      "id": "my-pattern",
      "type": "index-pattern",
      "title": "my-pattern-*",
      "error": {
        "type": "conflict"
      },
    },
  ],
}

Import a visualization and dashboard with an index pattern for the visualization reference that doesn’t exist:

$ curl -X POST "localhost:5601/api/saved_objects/_import" -H "kbn-xsrf: true" --form file=@file.ndjson

The file.ndjson file contains the following:

{"type":"visualization","id":"my-vis","attributes":{"title":"my-vis"},"references":[{"name":"ref_0","type":"index-pattern","id":"my-pattern-*"}]}
{"type":"dashboard","id":"my-dashboard","attributes":{"title":"Look at my dashboard"},"references":[{"name":"ref_0","type":"visualization","id":"my-vis"}]}

The API returns the following:

  "success": false,
  "successCount": 0,
  "errors": [
    {
      "id": "my-vis",
      "type": "visualization",
      "title": "my-vis",
      "error": {
        "type": "missing_references",
        "references": [
          {
            "type": "index-pattern",
            "id": "my-pattern-*"
          }
        ],
        "blocking": [
          {
            "type": "dashboard",
            "id": "my-dashboard"
          }
        ]
      }
    }
  ]