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 Kibana saved objects.


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

POST <kibana host>:<port>/api/saved_objects/<type>/<id>

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

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

Path parametersedit

(Optional, string) An identifier for the space. If space_id is not provided in the URL, the default space is used.
(Required, string) Valid options include visualization, dashboard, search, index-pattern, config.
(Optional, string) Specifies an ID instead of using a randomly generated ID.

Query parametersedit

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

Request bodyedit


(Required, object) The data that you want to create.

When you create saved objects, attributes are not validated, which allows you to pass arbitrary and ill-formed data into the API that can break Kibana. Make sure any data that you send to the API is properly formed.

(Optional, array) Objects with name, id, and type properties that describe the other saved objects that this object references. Use name in attributes to refer to the other saved object, but never the id, which can update automatically during migrations or import/export.

(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).

  • For shareable object types (registered with namespaceType: 'multiple'): this option can be used to specify one or more spaces, including the "All spaces" identifier ('*').
  • For isolated object types (registered with namespaceType: 'single' or namespaceType: 'multiple-isolated'): this option can only be used to specify a single space, and the "All spaces" identifier ('*') is not allowed.
  • For global object types (registered with `namespaceType: agnostic): this option cannot be used.

Response codeedit

Indicates a successful call.


$ curl -X POST api/index_patterns/index-pattern/my-pattern  -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '
  "attributes": {
    "title": "my-pattern-*"

The API returns the following:

  "id": "my-pattern", 
  "type": "index-pattern",
  "version": 1,
  "attributes": {
    "title": "my-pattern-*"

When my-pattern is unspecified in the path, a unique ID is automatically generated.