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

# POST /v1/upgrade-policy

`POST /v1/upgrade-policy`

## 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/upgrade-policy`
- Auth: one of:
  - API key in header `x-turnstile-token`
  - HTTP bearer

## Request body

- UpgradePolicyRequest
  - `allow_removed` string[]
  - `deny_downgraded` boolean
  - `deny_new_cves` boolean
  - `deny_removed` boolean
  - `deny_removed_dependencies` boolean
  - `deny_removed_services` boolean
  - `distro` string, required
  - `packages` string[], required
  - `source_release` string, required
  - `target_release` string, required

## Response `200`

Deterministic CI upgrade policy result

- UpgradePolicyResult
  - `changes` UpgradeChange[], required
    - `change` string, required: `added`, `removed`, `upgraded`, `downgraded`, `changed`, or `unchanged`.
    - `config_files_added` string[], required
    - `config_files_removed` string[], required
    - `cves_introduced` string[], required
    - `cves_resolved` string[], required
    - `dependencies_added` string[], required
    - `dependencies_removed` string[], required
    - `name` string, required
    - `replacement_candidates` string[], required: Target packages declaring `Provides: <removed-name>`.
    - `services_added` string[], required
    - `services_removed` 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
    - `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
  - `checked_packages` integer, required
  - `passed` boolean, required
  - `violations` UpgradePolicyViolation[], required
    - `detail` string, required
    - `package` string, required
    - `rule` string, required

---

[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)
