Bucket location
Archives are written to your bucket under the backup prefix specified during set up. The default bucket prefix ismiru-backups/.
<your-bucket>
miru-backups
miru-backup-20261101T030000Z.zip
miru-backup-20261102T030000Z.zip
...
<sibling-folder>
miru-backup-<timestamp>.zip, where the timestamp is when the backup was taken.
Archive contents
Every archive contains the entire state of the workspace at the time the backup was taken. Unzipping an archive reveals a directory with the following contents:miru-backup-20261102T030000Z.zip
README.md
manifest.json
resources
api_keys.jsonl
calibrations.jsonl
config_instances.jsonl
config_schema_git_commits.jsonl
config_schemas.jsonl
config_types.jsonl
deployments.jsonl
devices.jsonl
git_commits.jsonl
groups.jsonl
releases.jsonl
users.jsonl
contents
calibrations
cal_123
cal_456
...
config_instances
cfg_inst_123
cfg_inst_456
...
README.mdlists the resource types in the archive, explains how to read it and links back to these docs.manifest.jsondescribes the archive. See manifest.resources/holds one file per resource type. See resources.contents/holds the stored content of each config instance and calibration. See contents.
Manifest
The manifest is a JSON file that describes the archive.string
The version of the archive format, as
major.minor. See versioning.Example: 0.1string
The Platform API version of every resource in
the archive.Example:
2026-11-04.evergladesstring
The ID of the workspace the archive was taken from.Example:
wsp_123timestamp
The point in time the archive captures. Every resource is as it was at this moment.Example:
2026-11-02T03:00:00Zobject
A map of resource types to the number of resources of that type in the archive.
Resources
Each file inresources/ is a JSON Lines file containing one Platform API resource per line. Resources use the Platform API version named in the manifest’s platform_api_version.
Some resources include expansion data that the Platform API does not include by default. For example,
config_schemas.jsonl includes the schema documents, since there is no dedicated schema documents endpoint in the Platform API.
config_schema_git_commits.jsonl links each config schema to the git commits it was
pushed from, with the schema’s file paths in each commit. While config schema git commits are not returned as their own resource in the Platform API, they are given their own file in the archive because expanding the config_schema_git_commits expansion on config schemas returns only a singular page of results, which may loose data.
Archived devices, releases and config types are included in the archive. Deleted API
keys are also included, as resources may have been created from an API key that has since been deleted.
Contents
Thecontents/ directory contains the stored content of each config instance and calibration. Since these files are so large, they are given their own directory in the archive.
Each file in contents/ holds the stored content of one config instance or calibration,
named by the resource’s ID:
contents/config_instances/<id>contents/calibrations/<id>

