---
title: "Preview dataset restore"
method: POST
path: "/v1/dataset/{dataset_id}/restore/preview"
tags: ["Datasets"]
---

# Preview dataset restore

`POST /v1/dataset/{dataset_id}/restore/preview`

## Request

- Base URL: `https://api.braintrust.dev`
- URL: `https://api.braintrust.dev/v1/dataset/{dataset_id}/restore/preview`
- Auth: one of:
  - HTTP bearer
  - none

Preview restoring a dataset to an earlier version, such as a dataset snapshot. Returns how many rows a restore would change, without modifying the dataset. Fails if more than 20,000 rows changed since the requested version. Requires read permission on the dataset.

## Path parameters

- `dataset_id` string, uuid, required: Dataset id

## Request body

- DatasetRestoreRequest
  - `version` string, required: The dataset version to restore to, such as the `xact_id` of a dataset snapshot

## Response `200`

Number of rows the restore would change

- DatasetRestorePreviewResponse
  - `rows_to_restore` integer, required: Number of rows that would be restored to their value at the requested version
  - `rows_to_delete` integer, required: Number of rows created after the requested version that would be deleted

## Other responses

- `400`: The request was unacceptable, often due to missing a required parameter
- `401`: No valid API key provided
- `403`: The API key doesn’t have permissions to perform the request
- `429`: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests
- `500`: Something went wrong on Braintrust's end. (These are rare.)

## Changes

- **2026-10-30** `01a2a9298945`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/braintrustdata/apis/braintrust-api/changes/v1/dataset/:dataset_id/restore/preview/post.md)

---

[API](https://skmtc.dev/braintrustdata/apis/braintrust-api.md) - [All operations](https://skmtc.dev/braintrustdata/apis/braintrust-api/llms.txt) - [OpenAPI document](https://skmtc.dev/braintrustdata/apis/braintrust-api/revisions/19184ec94018?raw)
