Find objects API

edit

[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. Retrieve a paginated set of Kibana saved objects by various conditions.

Request

edit

GET <kibana host>:<port>/api/saved_objects/_find

GET <kibana host>:<port>/s/<space_id>/api/saved_objects/_find

Path parameters

edit
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

edit
type
(Required, array|string) The saved object types to include in the export.
per_page
(Optional, number) The number of objects to return per page.
page
(Optional, number) The page of objects to return.
search
(Optional, string) An Elasticsearch simple_query_string query that filters the objects in the response.
default_search_operator
(Optional, string) The default operator to use for the simple_query_string.
search_fields
(Optional, array|string) The fields to perform the simple_query_string parsed query against.
fields
(Optional, array|string) The fields to return in the attributes key of the response.
sort_field
(Optional, string) Sorts the response. Includes "root" and "type" fields. "root" fields exist for all saved objects, such as "updated_at". "type" fields are specific to an object type, such as fields returned in the attributes key of the response. When a single type is defined in the type parameter, the "root" and "type" fields are allowed, and validity checks are made in that order. When multiple types are defined in the type parameter, only "root" fields are allowed.
has_reference
(Optional, object) Filters to objects that have a relationship with the type and ID combination.
filter
(Optional, string) The filter is a KQL string with the caveat that if you filter with an attribute from your saved object type, it should look like that: savedObjectType.attributes.title: "myTitle". However, If you use a root attribute of a saved object such as updated_at, you will have to define your filter like that: savedObjectType.updated_at > 2018-12-22.
aggs
(Optional, string) experimental An aggregation structure, serialized as a string. The field format is similar to filter, meaning that to use a saved object type attribute in the aggregation, the savedObjectType.attributes.title: "myTitle"` format must be used. For root fields, the syntax is savedObjectType.rootField

As objects change in Kibana, the results on each page of the response also change. Use the find API for traditional paginated results, but avoid using it to export large amounts of data.

Response code

edit
200
Indicates a successful call.

Examples

edit

Find index patterns with titles that start with my:

$ curl -X GET api/saved_objects/_find?type=index-pattern&search_fields=title&search=my*

The API returns the following:

{
  "total": 1,
  "data": [
    {
      "id": "my-pattern",
      "type": "index-pattern",
      "version": 1,
      "attributes": {
        "title": "my-pattern-*"
      }
    }
  ]
}

For parameters that accept multiple values (e.g. fields), repeat the query parameter for each value:

$ curl -X GET api/saved_objects/_find?fields=id&fields=title