---
title: Data Retention | Boltz API Docs
description: How the Boltz API handles data retention, workspace-level configuration, and eager deletion.
---

## Philosophy

The Boltz API is not a point of record — it provides access to models and engines. You should download results to your own storage for analysis, long-term retention, and integration into your own platforms and design engines. This approach ensures data privacy and lets you integrate the Boltz API into your own workflows.

## Retention period

Retention is configured **per-workspace** via the `data_retention` field:

```
{
  "data_retention": {
    "unit": "days",
    "value": 7
  }
}
```

- **Default**: 7 days
- **Minimum**: 1 hour
- **Maximum**: 14 days (336 hours)
- **Supported units**: `"hours"` or `"days"`

If you have data retention requirements that fall outside the 1 hour to 14 day range, [contact us](mailto:contact@boltz.bio) to discuss a custom configuration.

### When the retention clock starts

The retention period begins when a prediction or pipeline reaches a **terminal** state — specifically `succeeded`, `failed`, or `stopped`. Data for in-progress runs is not subject to the retention countdown.

**30-day hard limit** — Any run that has not reached a terminal state within 30 days (including runs that are repeatedly stopped and resumed) will be forcefully stopped and have its data deleted.

After the retention period expires, input data, output data, and artifact files are automatically deleted. The resource record itself is kept with a `data_deleted_at` timestamp so you can see when data was purged.

## Eager deletion

If you want to purge data before the retention window expires, call the `delete-data` endpoint on any prediction, design run, or library screen:

```
POST /compute/v1/predictions/structure-and-binding/{id}/delete-data
POST /compute/v1/small-molecule/design/{id}/delete-data
POST /compute/v1/small-molecule/library-screen/{id}/delete-data
POST /compute/v1/protein/design/{id}/delete-data
POST /compute/v1/protein/library-screen/{id}/delete-data
```

Eager deletion is irreversible. Once called, all input/output data and artifacts for that resource are permanently removed.

## Download URL expiration

Output artifacts are served via time-limited download URLs. Each URL includes a `url_expires_at` timestamp indicating when it will stop working. Download URL expiration is independent of the retention period — a URL can expire before the retention window closes.

If a download URL has expired but the resource is still within its retention period, fetch the resource again to get a fresh URL.
