Bulk create saved objects APIedit

[preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Create multiple Kibana saved objects.

Requestedit

POST <kibana host>:<port>/api/saved_objects/_bulk_create

POST <kibana host>:<port>/s/<space_id>/api/saved_objects/_bulk_create

Path parametersedit

space_id
(Optional, string) An identifier for the space. If space_id is not provided in the URL the default space is used.

Query parametersedit

overwrite
(Optional, boolean) When true, overwrites the document with the same ID.

Request bodyedit

type
(Required, string) Valid options include visualization, dashboard, search, index-pattern, config, and timelion-sheet.
id
(Optional, string) Specifies an ID instead of using a randomly generated ID.
attributes
(Required, object) The data that you want to create.
references
(Optional, array) Objects with name, id, and type properties that describe the other saved objects in the referenced object. To refer to the other saved object, use name in the attributes. Never use id to refer to the other saved object. id can be automatically updated during migrations, import, or export.
initialNamespaces
(Optional, string array) Identifiers for the spaces in which this object is created. If this is provided, the object is created only in the explicitly defined spaces. If this is not provided, the object is created in the current space (default behavior).
version
(Optional, number) Specifies the version.

Response bodyedit

saved_objects
(array) Top-level property the contains objects that represent the response for each of the requested objects. The order of the objects in the response is identical to the order of the objects in the request.

Saved objects that are unable to persist are replaced with an error object.

Response codeedit

200
Indicates a successful call.

Exampleedit

Create an index pattern with the my-pattern ID, and a dashboard with the my-dashboard ID:

$ curl -X POST api/saved_objects/_bulk_create
[
  {
    "type": "index-pattern",
    "id": "my-pattern",
    "attributes": {
      "title": "my-pattern-*"
    }
  },
  {
    "type": "dashboard",
    "id": "be3733a0-9efe-11e7-acb3-3dab96693fab",
    "attributes": {
      "title": "Look at my dashboard"
    }
  }
]

The API returns the following:

{
  "saved_objects": [
    {
      "id": "my-pattern",
      "type": "index-pattern",
      "version": 1,
      "attributes": {
        "title": "my-pattern-*"
      }
    },
    {
      "id": "be3733a0-9efe-11e7-acb3-3dab96693fab",
      "type": "dashboard",
      "error": {
        "statusCode": 409,
        "message": "Saved object [dashboard/be3733a0-9efe-11e7-acb3-3dab96693fab] conflict"
      }
    }
  ]
}

There is already a saved object with the my-dashboard ID, so only the index pattern is created.