---
title: "Api Admin Disable Host"
method: POST
path: "/admin/api/hosts/{host_id}/disable"
tags: ["admin"]
---

# Api Admin Disable Host

`POST /admin/api/hosts/{host_id}/disable`

## Request

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

Admin-initiated disable of a host (potentially owned by another user).

Unlike kick (which is a one-shot connection drop), disable is persistent:
the host stays rejected at handshake until someone re-enables it.

The `reason` field on the disabled meta is prefixed with "[admin: <email>]"
so the owner sees in their own dashboard that the action was administrative,
not their own.

Reason for not accepting a free-text reason from the admin here: the admin
panel is the operator's tool, and we keep its actions terse. If audit
detail is needed, it lives in the structured logs (admin_email + target).

## Path parameters

- `host_id` string, required

## Cookies

- `sentinelx_dash_session` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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