---
type: api
title: Search for saved objects
description: **Spaces method and path for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/kibana/v8/operation/operation-findsavedobjects
resource: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/kibana/v8/operation/operation-findsavedobjects
products:
  - Kibana
---

# Search for saved objects

deprecated

- Server: `https://{kibana_url}`

## Paths

- `GET` `/api/saved_objects/_find`
- `GET` `/s/{space_id}/api/saved_objects/_find`

## Description

Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.

Retrieve a paginated set of Kibana saved objects.

## Authentication

- Api key: `Authorization: <value>`
  These APIs use key-based authentication. You must create an API key and use the encoded value in the request header. For example: `Authorization: ApiKey base64AccessApiKey`
- Basic: `Authorization: Basic <credentials>`

## Query string parameters

- `aggs` (string) — optional
  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 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.
- `default_search_operator` (string) — optional
  The default operator to use for the `simple_query_string`.
- `fields` (unknown[]) — optional
  The fields to return in the attributes key of the response.
- `filter` (string) — optional
  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`.
- `has_no_reference` (object) — optional
  Filters to objects that do not have a relationship with the type and identifier combination.
- `has_no_reference_operator` (string) — optional
  The operator to use for the `has_no_reference` parameter. Either `OR` or `AND`. Defaults to `OR`.
- `has_reference` (object) — optional
  Filters to objects that have a relationship with the type and ID combination.
- `has_reference_operator` (string) — optional
  The operator to use for the `has_reference` parameter. Either `OR` or `AND`. Defaults to `OR`.
- `page` (integer) — optional
  The page of objects to return.
- `per_page` (integer) — optional
  The number of objects to return per page.
- `search` (string) — optional
  An Elasticsearch `simple_query_string` query that filters the objects in the response.
- `search_fields` (unknown[]) — optional
  The fields to perform the `simple_query_string` parsed query against.
- `sort_field` (string) — optional
  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.
- `type` (unknown[]) — required
  The saved object types to include.

## Responses

#### `200`

Indicates a successful call.

`application/json`

Type: `object`

#### `400`

Bad request

`application/json`

- `error` (enum)
  Values: `Bad Request`
- `message` (string)
- `statusCode` (enum)
  Values: `400`
## Code examples

#### Console

```console
GET kbn:/api/saved_objects/_find?type=TYPE
```

#### curl

```curl
curl -X GET "${KIBANA_URL}/api/saved_objects/_find?type=${TYPE}" \
  -H "Authorization: ApiKey ${API_KEY}"
```

