---
title: "Reactivate Host"
method: POST
path: "/admin/hosts/{host_id}/reactivate"
---

# Reactivate Host

`POST /admin/hosts/{host_id}/reactivate`

## Request

- Base URL: `https://api.xhostd.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.xhostd.com/admin/hosts/{host_id}/reactivate`
- Auth: none declared

Release a quarantined or draining host back to ``active`` (admin).

One symmetric route for both gate-blocked states; a no-op (still
200) when the host is already ``active``. A ``pending`` host has
never enrolled — activation, not reactivation, is its path.

Reactivation asserts the physical box behind the row is alive and
unchanged: refused (409) when the heartbeat is stale or absent,
because a wiped/replaced box must go through delete + fresh
enrollment, never a bare state flip. Any live box heartbeats — via
the boot gate while passive or the agent while serving — so
freshness is always available when reactivation is legitimate.
``force=true`` is the explicit operator override.

## Path parameters

- `host_id` string, uuid, required

## Headers

- `authorization` string, nullable

## Request body

- ReactivateHostRequest
  - `force` boolean

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/xhostd/apis/xhostd-public.md) · [All operations](https://skmtc.dev/xhostd/apis/xhostd-public/llms.txt) · [OpenAPI document](https://skmtc.dev/xhostd/apis/xhostd-public/revisions/bf439c4d1789?raw)
