[[saved-objects-api-find]] === Find objects API ++++ Find objects ++++ experimental[] Retrieve a paginated set of {kib} saved objects by various conditions. [[saved-objects-api-find-request]] ==== Request `GET :/api/saved_objects/_find` `GET :/s//api/saved_objects/_find` [[saved-objects-api-find-path-params]] ==== 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. [[saved-objects-api-find-query-params]] ==== Query Parameters `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 {ref}/query-dsl-simple-query-string-query.html[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` NOTE: As objects change in {kib}, 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. [[saved-objects-api-find-request-codes]] ==== Response code `200`:: Indicates a successful call. ==== Examples Find index patterns with titles that start with `my`: [source,sh] -------------------------------------------------- $ curl -X GET api/saved_objects/_find?type=index-pattern&search_fields=title&search=my* -------------------------------------------------- // KIBANA The API returns the following: [source,sh] -------------------------------------------------- { "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: [source,sh] -------------------------------------------------- $ curl -X GET api/saved_objects/_find?fields=id&fields=title -------------------------------------------------- // KIBANA