---
title: "Get Upgrade Preflight"
method: GET
path: "/system/upgrade/preflight"
tags: ["System"]
---

# Get Upgrade Preflight

`GET /system/upgrade/preflight`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/system/upgrade/preflight`
- Auth: HTTP basic

Report whether this API can replace its own container, and what it would cost.

Read-only and never raises: a daemon that cannot be reached, a container that cannot
be placed and a registry that cannot be read are all reported as can_upgrade false
with a blocked_reason, because the caller of a destructive action needs a reason far
more than it needs a 500.

Returns:
    Dictionary with image_ref, current_digest, available_digest, up_to_date, the
    pinning verdict (pinned / pinned_reason / override_file), the compose project,
    working dir and config files, running_executors and running_bots, and
    can_upgrade with its blocked_reason (None only when the upgrade may be started).

## Response `200`

Successful Response

- unknown

## Changes

- **2026-10-14** `66c2e6c1da2e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hummingbot/apis/hummingbot-api/changes/system/upgrade/preflight/get.md)

---

[API](https://skmtc.dev/hummingbot/apis/hummingbot-api.md) - [All operations](https://skmtc.dev/hummingbot/apis/hummingbot-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hummingbot/apis/hummingbot-api/revisions/66c2e6c1da2e?raw)
