---
title: "POST /v1/migrate"
method: POST
path: "/v1/migrate"
tags: ["migration"]
---

# POST /v1/migrate

`POST /v1/migrate`

## Request

- Base URL: `https://api.pkgseek.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pkgseek.com/v1/migrate`
- Auth: none declared

## Request body

- MigrationRequest
  - `packages` string[], required: Package names from the source environment, in display order.
  - `source_distro` string, required
  - `source_release` string, required
  - `target_distro` string, required
  - `target_release` string, required

## Response `200`

Cross-distribution migration plan

- MigrationResult
  - `exact` integer, required
  - `file_overlap_truncated` boolean, required: The file-overlap expansion hit a decode-byte, provider-count or wall-clock budget: `suggested` candidates may be incomplete.
  - `install_command` string, nullable
  - `items` MigrationItem[], required
    - `candidates` MigrationCandidate[], required
      - `package` MigrationPackage, required: One representative package build at either side of a migration.
        - `name` string, required
        - `release` string, required
        - `repo` string, required
        - `source` string, required
        - `summary` string, required
        - `version` string, required
      - `reason` string, required: `provides` for an ambiguous virtual provider, or `files` for installed-file overlap.
      - `shared_file_count` integer, required
      - `shared_files` string[], required
    - `requested` string, required
    - `source_package` MigrationPackage: One representative package build at either side of a migration.
      - `name` string, required
      - `release` string, required
      - `repo` string, required
      - `source` string, required
      - `summary` string, required
      - `version` string, required
    - `status` string, required
    - `target_package` MigrationPackage: One representative package build at either side of a migration.
      - `name` string, required
      - `release` string, required
      - `repo` string, required
      - `source` string, required
      - `summary` string, required
      - `version` string, required
  - `missing` integer, required
  - `provided` integer, required
  - `source` MigrationCoordinate, required
    - `distro` string, required
    - `release` string, required
  - `source_missing` integer, required
  - `suggested` integer, required
  - `target` MigrationCoordinate, required
    - `distro` string, required
    - `release` string, required

## Other responses

- `400`: Invalid package list or distribution coordinate

---

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