---
type: api
title: Import saved objects
description: **Spaces method and path for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/v9/operation/operation-post-saved-objects-import
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/v9/operation/operation-post-saved-objects-import
products:
  - Kibana
---

# Import saved objects

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

## Paths

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

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

## Description

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

Create sets of Kibana saved objects from a file created by the export API. Saved objects can only be imported into the same version, a newer minor on the same major, or the next major. Tampering with exported data risks introducing unspecified errors and data loss.

Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana.

NOTE: The exported saved objects include `coreMigrationVersion` and `typeMigrationVersion` metadata. If you store exported saved objects outside of Kibana (for example in NDJSON files) or generate them yourself, you must preserve or include these fields to retain forwards compatibility across Kibana versions.

## Query String Parameters

- `overwrite` (boolean · default: false)
  Overwrites saved objects when they already exist. When used, potential conflict errors are automatically resolved by overwriting the destination object. NOTE: This option cannot be used with the `createNewCopies` option.
- `createNewCopies` (boolean · default: false)
  Creates copies of saved objects, regenerates each object ID, and resets the origin. When used, potential conflict errors are avoided. NOTE: This option cannot be used with the `overwrite` and `compatibilityMode` options.
- `compatibilityMode` (boolean · default: false)
  Applies various adjustments to the saved objects that are being imported to maintain compatibility between different Kibana versions. Use this option only if you encounter issues with imported saved objects. NOTE: This option cannot be used with the `createNewCopies` option.

## Request Body

`multipart/form-data`

- `file` (object) — required
  A file exported using the export API. Changing the contents of the exported file in any way before importing it can cause errors, crashes or data loss. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be included in this file. Similarly, the `savedObjects.maxImportPayloadBytes` setting limits the overall size of the file that can be imported.

## Responses

#### `200`

Indicates a successful call.

`application/json`

- `errors` ([] object)
  Indicates the import was unsuccessful and specifies the objects that failed to import.

NOTE: One object may result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and conflict error.
- `success` (boolean)
  Indicates when the import was successfully completed. When set to false, some objects may not have been created. For additional information, refer to the `errors` and `successResults` properties.
- `successCount` (number)
  Indicates the number of successfully imported records.
- `successResults` ([] object)
  Indicates the objects that are successfully imported, with any metadata if applicable.

NOTE: Objects are created only when all resolvable errors are addressed, including conflicts and missing references. If objects are created as new copies, each entry in the `successResults` array includes a `destinationId` attribute.
#### `400`

Bad request.

`application/json`

- `error` (string)
- `message` (string)
- `statusCode` (enum)
  Values: `400`
## Code Examples

#### Console

```console
POST kbn://api/saved_objects/_import?createNewCopies=true
```

#### curl

```curl
curl \
  -X POST "${KIBANA_URL}/api/saved_objects/_import?createNewCopies=true" \
  -H "Authorization: ApiKey ${API_KEY}" \
  -H "kbn-xsrf: true" \
  --form file=@file.ndjson
```

## Request Examples

#### Import saved objects from an NDJSON file

```json
{
  "file": "file.ndjson"
}
```

## Response Examples

#### A successful import response

```json
{
  "errors": [],
  "success": true,
  "successCount": 1,
  "successResults": [
    {
      "destinationId": "example-dashboard-1-copy",
      "id": "example-dashboard-1",
      "managed": false,
      "type": "dashboard"
    }
  ]
}
```

#### A bad request error

```json
{
  "error": "Bad Request",
  "message": "Invalid file extension .txt",
  "statusCode": 400
}
```

