---
title: "Migrate Legacy Sources"
method: POST
path: "/api/v1/shops/{shop_id}/sources/migrate-legacy"
tags: ["Brand Knowledge"]
---

# Migrate Legacy Sources

`POST /api/v1/shops/{shop_id}/sources/migrate-legacy`

## Request

- Base URL: `https://api.soeru.biz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.soeru.biz/api/v1/shops/{shop_id}/sources/migrate-legacy`
- Auth: none declared. Required headers: `authorization`

Backfill source_kind for legacy sources that pre-date the deep crawl redesign.

Legacy sources (source_kind IS NULL) get auto-detected or default to 'snapshot'.
This is idempotent — running it multiple times is safe.

## Path parameters

- `shop_id` string, required

## Headers

- `authorization` string, required: Bearer <token>

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/soeru/apis/soeru-api.md) · [All operations](https://skmtc.dev/soeru/apis/soeru-api/llms.txt) · [OpenAPI document](https://skmtc.dev/soeru/apis/soeru-api/revisions/63f8d371abed?raw)
