---
type: api
title: Update saved objects
description: **Spaces method and path for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/operation/operation-put-saved-objects-bulk-update
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/operation/operation-put-saved-objects-bulk-update
products:
  - Kibana
---

# Update saved objects

deprecated

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

## Paths

- `PUT` `/api/saved_objects/_bulk_update`
- `PUT` `/s/{space_id}/api/saved_objects/_bulk_update`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/kibana/authentication#apikeyauth)
- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/kibana/authentication#basicauth)

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

Updates multiple Kibana saved objects in a single request.

For transferring or backing up saved objects, prefer the import and export APIs (`POST /api/saved_objects/_import` and `POST /api/saved_objects/_export`).

## Request Body

`application/json`

Type: `[] object · max: 10000`


## Responses

#### `200`

A bulk update response.

#### `400`

A bad request.

## Code Examples

#### Console

```console
PUT kbn://api/saved_objects/_bulk_update
[{"type":"dashboard","id":"example-dashboard-1","attributes":{"title":"Updated dashboard title"},"references":[]},{"type":"dashboard","id":"does-not-exist","attributes":{"title":"Updated dashboard title"}}]
```

#### curl

```curl
curl \
  -X PUT "${KIBANA_URL}/api/saved_objects/_bulk_update" \
  -H "Authorization: ApiKey ${API_KEY}" \
  -H "kbn-xsrf: true" \
  -H "Content-Type: application/json" \
  -d '[{"type":"dashboard","id":"example-dashboard-1","attributes":{"title":"Updated dashboard title"},"references":[]},{"type":"dashboard","id":"does-not-exist","attributes":{"title":"Updated dashboard title"}}]'
```

## Response Examples

#### A bulk update response with one not found result

```json
{
  "saved_objects": [
    {
      "attributes": {
        "title": "Updated dashboard title"
      },
      "id": "example-dashboard-1",
      "managed": false,
      "namespaces": [
        "default"
      ],
      "references": [],
      "type": "dashboard",
      "updated_at": "2026-04-17T12:00:00.000Z",
      "version": "WzIsMV0="
    },
    {
      "error": {
        "error": "Not Found",
        "message": "Saved object [dashboard/does-not-exist] not found",
        "statusCode": 404
      },
      "id": "does-not-exist",
      "type": "dashboard"
    }
  ]
}
```

#### A bad request error

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

