> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mirurobotics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Set up backups

Backups are configured per workspace from the dashboard. Each workspace writes its
backups to one bucket.

## Prerequisites

* A [bucket](https://docs.mirurobotics.com/data-uploads/concepts/buckets.md) connected to Miru. Connect an [AWS S3](https://docs.mirurobotics.com/data-uploads/connect-a-bucket/aws.md) or [GCS](https://docs.mirurobotics.com/data-uploads/connect-a-bucket/gcs.md) bucket. Connecting a bucket needs the publisher (Members with the publisher role can execute this action.) role, and backups need no bucket permissions beyond the ones that connection grants.

## Enable backups  admin (Workspace owners and administrators can execute this action.)

Platform API (Platform API does not support this operation)

**1. Choose the bucket and prefix**

In the Miru dashboard, navigate to the
[Backups page](https://app.mirurobotics.com/settings/backups). Select the bucket, and
change the prefix if you want backups written somewhere other than `miru-backups/`. An
archived bucket can't be selected.

**2. Save**

Click **Save**. Backups run while a bucket is selected.

Before saving, Miru checks that it can write under the prefix by uploading an empty
object under `<prefix>/.miru/probe/`. If the check fails, the page shows the error and
nothing is saved.

The first backup starts within about an hour. Each later backup starts about a day after
the one before it.

A prefix can't start or end with `/`, or contain `*`, `?` or `$`. If more than one
workspace backs up to the same bucket, give each its own prefix, since archive names don't
include the workspace.

### Configure retention

Miru never deletes a backup, so archives build up until you remove them. To expire old
archives automatically, add a lifecycle rule for the backup prefix in
[AWS S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)
or [GCS](https://cloud.google.com/storage/docs/lifecycle). While backups keep running, an
age-based rule always leaves the newest archives in place.

### Run history admin (Workspace owners and administrators can execute this action.)

Platform API (Platform API does not support this operation)

The [Backups page](https://app.mirurobotics.com/settings/backups) lists recent runs, newest
first, with each run's status and, once it succeeds, the size and key of its archive.

| Status | Meaning |
| - | - |
| `queued` | The run is waiting to start. |
| `running` | The run has started and hasn't finished. |
| `succeeded` | The archive was uploaded to the bucket. |
| `failed` | The run stopped before the archive was uploaded. |

When a run fails, the page shows why. The most common cause is a bucket role or service
account that no longer grants write access.

## Change where backups go  admin (Workspace owners and administrators can execute this action.)

Platform API (Platform API does not support this operation)

On the [Backups page](https://app.mirurobotics.com/settings/backups), select a different
bucket or change the prefix, and click **Save**. Miru checks the new location the same way
before saving. Later backups go to the new location, and earlier archives stay where they
were written.

While the backup settings point at a bucket, you can't delete or
[archive](https://docs.mirurobotics.com/data-uploads/concepts/buckets.md#archive-a-bucket) that bucket. Choose another
bucket, or [turn off backups](#turn-off-backups), first. A bucket that any backup has run
to can't be deleted, only archived.

## Turn off backups  admin (Workspace owners and administrators can execute this action.)

Platform API (Platform API does not support this operation)

On the [Backups page](https://app.mirurobotics.com/settings/backups), clear the bucket and
click **Save**. No more backups run, and the archives already in your bucket stay where
they are.

Clearing the bucket doesn't check it, so it works even if Miru can no longer write to the
bucket or it's archived.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.