---
type: api
title: Resolve a saved object
description: **Spaces method and path for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4641/api/doc/kibana/v8/operation/operation-resolvesavedobject
resource: https://www.elastic.co/elastic/docs-builder/docs/4641/api/doc/kibana/v8/operation/operation-resolvesavedobject
products:
  - Kibana
---

# Resolve a saved object

deprecated

Authentication: required

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

## Paths

- `GET` `/api/saved_objects/resolve/{type}/{id}`
- `GET` `/s/{space_id}/api/saved_objects/resolve/{type}/{id}`

#### Path parameters

- `space_id` (string) — optional
  An identifier for the space. If `space_id` is not provided in the URL, the default space is used. Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
- `id` (string) — required
  An identifier for the saved object.
- `type` (string) — required
  Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`.

## Description

Retrieve a single Kibana saved object by identifier using any legacy URL alias if it exists. Under certain circumstances, when Kibana is upgraded, saved object migrations may necessitate regenerating some object IDs to enable new features. When an object's ID is regenerated, a legacy URL alias is created for that object, preserving its old ID. In such a scenario, that object can be retrieved using either its new ID or its old ID.

## 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/resolve/TYPE/ID
```

#### curl

```curl
curl -X GET "${KIBANA_URL}/api/saved_objects/resolve/${TYPE}/${ID}" \
  -H "Authorization: ApiKey ${API_KEY}"
```

## Response examples

#### 200

`application/json`

Generated from the API spec. Values are representative. Unions use the first variant; deeply nested or large bodies may omit fields.

```json
{}
```

#### 400

`application/json`

Generated from the API spec. Values are representative. Unions use the first variant; deeply nested or large bodies may omit fields.

```json
{
  "error": "Bad Request",
  "message": "string",
  "statusCode": 400
}
```

