---
title: "Backfill Existing Media"
method: POST
path: "/api/admin/storage/backfill"
tags: ["admin-storage"]
---

# Backfill Existing Media

`POST /api/admin/storage/backfill`

## Request

- Base URL: `https://api.tintin-x.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tintin-x.com/api/admin/storage/backfill`
- Auth: HTTP bearer

Backfill existing media into the storage system.

Scans two sources:
1. content_queue_items with s3_media_key (DB)
2. S3 objects under media/{character_id}/ for each agent

Creates per-agent folders and storage_files rows. Idempotent — skips
files already tracked (unique on s3_key).

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/tintin-x/apis/tintin-api.md) · [All operations](https://skmtc.dev/tintin-x/apis/tintin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tintin-x/apis/tintin-api/revisions/8839a8d0a66c?raw)
