Skip to main content

How This Helps

Snapshots capture the exact state of a dataset — media, metadata, enrichment models, clustering, tags, and labels — at a specific point in time. Use them to create checkpoints before risky operations, roll back to known-good states, or clone a dataset version for parallel experimentation.

Prerequisites

  • A Visual Layer Cloud account with API access.
  • A valid JWT token. See Authentication.
  • A dataset ID for a dataset in Ready status with snapshot support enabled. See Retrieve Dataset Status.
Snapshots are available only for datasets created with snapshot support. Older datasets created before this feature may not support snapshots. Contact support to enable snapshot support on an existing dataset.

List Snapshots

Retrieve all snapshots for a dataset, ordered newest first.

Path Parameters

Example

Response

Snapshot Object Fields

Each snapshot in the response contains the following fields:
The reason field indicates how the snapshot was created:
  • creation — Automatically created when the dataset was first indexed.
  • manual — Created by a user through the API or UI.
  • clone — Created as part of a clone operation.

Create a Snapshot

Save the current state of a dataset as a named checkpoint.

Path Parameters

Request Body

Example

Response

Returns the created snapshot object. See Snapshot Object Fields for the full schema.
The new snapshot becomes the current version of the dataset (is_current: true).
Snapshot creation is blocked while any of the following operations are running on the dataset: dataset creation, enrichment, media addition, re-indexing, label propagation, custom metadata import, or snapshot restore. Wait for the active operation to complete before creating a snapshot.

Update a Snapshot

Change the name or description of an existing snapshot. This does not affect the saved data in the snapshot.

Path Parameters

Request Body

Include at least one field. Both fields are optional individually.

Example

Response

Returns the updated snapshot object. See Snapshot Object Fields for the full schema.

Restore a Snapshot

Revert a dataset to a previously saved snapshot state. This is an asynchronous operation — the dataset enters Read Only status while the restore processes.

Path Parameters

Example

Response

Returns HTTP 202 Accepted with an empty body. The restore operation runs asynchronously. Track the restore progress using the Task Manager API. A SNAPSHOT_RESTORE task appears with the dataset ID. The dataset returns to Ready status once the restore completes.
Restore replaces all current dataset data — media, metadata, enrichment results, clustering, tags, and labels — with the saved state of the snapshot. This operation cannot be undone. Create a new snapshot of the current state before restoring if you want to preserve it.

State During Restore

While a restore is in progress:
  • The dataset status changes to Read Only.
  • The snapshot is_restoring field is true in the list response.
  • All data-modifying operations (enrichment, media addition, re-indexing) are blocked.
  • Read operations (search, explore, export) continue to work against the pre-restore data.

Clone a Snapshot

Create a new, independent dataset from a snapshot. The original dataset is unaffected. This is an asynchronous operation.

Path Parameters

Example

Response

Returns HTTP 202 Accepted with an empty body. The clone operation runs asynchronously. The new dataset appears in the Dataset Inventory with the name {Original Dataset Name} (cloned). Track the clone progress using the Task Manager API. A SNAPSHOT_CLONE task appears for the new dataset.
The cloned dataset is fully independent. Changes to the clone do not affect the original dataset, and changes to the original do not affect the clone.

Delete a Snapshot

Remove a snapshot from the catalog. This is a soft delete — the snapshot is hidden from all API responses but does not affect the current dataset data or any datasets previously cloned from the snapshot.

Path Parameters

Example

Response

Returns HTTP 200 OK with an empty body.
The snapshot marked as the current version cannot be deleted. Create a new snapshot first to change the current version, then delete the old one.

Python Example

This example demonstrates the full snapshot lifecycle: listing existing snapshots, creating a checkpoint, verifying it, and cleaning up.

Use Cases

Checkpoint Before Enrichment

Create a snapshot before running a new enrichment model. If the results are unsatisfactory, restore the snapshot to undo the enrichment and try a different model.

A/B Test Enrichment Models

Clone a snapshot to create two identical datasets, then apply different enrichment models to each for comparison.

Audit Trail

List all snapshots to see the history of dataset checkpoints and understand how the dataset evolved over time.
The reason field distinguishes between the automatic creation snapshot, manual checkpoints, and cloned versions.

Operation Constraints

Keep the following constraints in mind when working with the Snapshot API:
  • The dataset must be in Ready status to create a snapshot. Restore and clone also accept Partial Index and Error statuses.
  • Snapshot creation is blocked while another operation is running (enrichment, media addition, re-indexing, label propagation, custom metadata import, or snapshot restore).
  • Restore is blocked while any major operation is running, including other restore or clone operations.
  • Clone operations run on the new dataset, so they do not block operations on the source dataset.
  • The current version snapshot cannot be deleted. Create a new snapshot to change the current version first.
  • Restore and clone are asynchronous. The dataset enters Read Only status during restore. Track progress through the Task Manager API.

Response Codes

See Error Handling for the error response format and Python handling patterns.

Dataset Snapshots (UI)

Manage snapshots from the Visual Layer interface.

Task Manager

Track snapshot restore and clone operations programmatically.

Enrichment

Run AI models on your dataset — create a snapshot first as a safety net.

Export Dataset

Export a specific version of your dataset after restoring a snapshot.