Bulk create saved objects API
[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 multiple Kibana saved objects.
Request
POST <kibana host>:<port>/api/saved_objects/_bulk_create
POST <kibana host>:<port>/s/<space_id>/api/saved_objects/_bulk_create
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.
Query parameters
overwrite
(Optional, boolean) When true
, overwrites the document with the same ID.
Request body
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.
version
(Optional, number) Specifies the version.
Response body
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 code
200
Indicates a successful call.
Example
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.