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

# Resolve saved objects

deprecated

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

## Paths

- `POST` `/api/saved_objects/_bulk_resolve`
- `POST` `/s/{space_id}/api/saved_objects/_bulk_resolve`

## Description

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

WARNING: This API is deprecated. This is a legacy Saved Objects API and may be removed in a future version of Kibana.

Retrieve multiple Kibana saved objects by ID, using any legacy URL aliases if they exist.

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 with the bulk resolve API using either its new ID or its old ID.

## 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>`

## Header parameters

- `kbn-xsrf` (string) — required
  A required header to protect against CSRF attacks

## Request body

`application/json`

Type: `object[] · max items: 10000`

An array; each item has these fields:

- `id` (string · max length: 512) — required
- `type` (string · max length: 256) — required

## Responses

#### `200`

A bulk resolve response.

`application/json`

#### `400`

A bad request.

`application/json`

## Code examples

#### Console

```console
POST kbn://api/saved_objects/_bulk_resolve
[{"type":"dashboard","id":"example-dashboard-1"},{"type":"dashboard","id":"legacy-id"}]
```

#### curl

```curl
curl \
  -X POST "${KIBANA_URL}/api/saved_objects/_bulk_resolve" \
  -H "Authorization: ApiKey ${API_KEY}" \
  -H "kbn-xsrf: true" \
  -H "Content-Type: application/json" \
  -d '[{"type":"dashboard","id":"example-dashboard-1"},{"type":"dashboard","id":"legacy-id"}]'
```

## Response examples

#### A bulk resolve response with an exact and alias match

```json
{
  "resolved_objects": [
    {
      "outcome": "exactMatch",
      "saved_object": {
        "attributes": {
          "title": "Example dashboard 1"
        },
        "id": "example-dashboard-1",
        "managed": false,
        "namespaces": [
          "default"
        ],
        "references": [],
        "type": "dashboard",
        "updated_at": "2026-04-17T12:00:00.000Z",
        "version": "WzEsMV0="
      }
    },
    {
      "alias_target_id": "example-dashboard-2",
      "outcome": "aliasMatch",
      "saved_object": {
        "attributes": {
          "title": "Example dashboard 2"
        },
        "id": "example-dashboard-2",
        "managed": false,
        "namespaces": [
          "default"
        ],
        "references": [],
        "type": "dashboard",
        "updated_at": "2026-04-17T12:00:00.000Z",
        "version": "WzEsMl0="
      }
    }
  ]
}
```

#### A bad request error

```json
{
  "error": "Bad Request",
  "message": "Unsupported saved object type(s): unknownType",
  "statusCode": 400
}
```

