---
title: "Remove host"
method: DELETE
path: "/v1/hosts/{host_id}"
tags: ["Host"]
---

# Remove host

`DELETE /v1/hosts/{host_id}`

Removes a host from the cluster.

## Path parameters

- `host_id` string, required

## Query parameters

- `force` boolean

## Response `200`

OK response.

- RemoveHostResponse
  - `task` Task, required
    - `completed_at` string, date-time — The time when the task was completed.
    - `created_at` string, date-time, required — The time when the task was created.
    - `database_id` string — The database ID of the task.
    - `entity_id` string, required — The entity ID (database_id or host_id) that this task belongs to.
    - `error` string — The error message if the task failed.
    - `host_id` string — The ID of the host that the task is running on.
    - `instance_id` string — The ID of the instance that the task is operating on.
    - `node_name` string — The name of the node that the task is operating on.
    - `parent_id` string, uuid — The parent task ID of the task.
    - `scope` 'database' | 'host', required — The scope of the task (database or host).
    - `status` 'pending' | 'running' | 'completed' | 'canceled' | 'canceling' | 'failed' | 'unknown', required — The status of the task.
    - `task_id` string, uuid, required — The unique ID of the task.
    - `type` string, required — The type of the task.
  - `update_database_tasks` Task[], required — The tasks that will update databases affected by the host removal.
    - `completed_at` string, date-time — The time when the task was completed.
    - `created_at` string, date-time, required — The time when the task was created.
    - `database_id` string — The database ID of the task.
    - `entity_id` string, required — The entity ID (database_id or host_id) that this task belongs to.
    - `error` string — The error message if the task failed.
    - `host_id` string — The ID of the host that the task is running on.
    - `instance_id` string — The ID of the instance that the task is operating on.
    - `node_name` string — The name of the node that the task is operating on.
    - `parent_id` string, uuid — The parent task ID of the task.
    - `scope` 'database' | 'host', required — The scope of the task (database or host).
    - `status` 'pending' | 'running' | 'completed' | 'canceled' | 'canceling' | 'failed' | 'unknown', required — The status of the task.
    - `task_id` string, uuid, required — The unique ID of the task.
    - `type` string, required — The type of the task.

## Other responses

- `400` — Bad Request response.
- `404` — Not Found response.
- `409` — Conflict response.
- `500` — Internal Server Error response.
- `default` — Unexpected error response

## Changes

- **2025-12-02** `9a12145a6784` — 1 breaking, 2 info
  - removed the success response with the status `204`
  - added the new optional `query` request parameter `force`
  - added the success response with the status `200`
- **2025-10-21** `fd6012c4bd72` — 1 breaking, 1 warning, 1 info
  - removed the success response with the status `200`
  - deleted the `query` request parameter `force`
  - added the success response with the status `204`

[Change history](https://skmtc.dev/pgedge/apis/pgedge-control-plane-v1-api/changes/v1/hosts/:host_id/delete.md)

---

[API](https://skmtc.dev/pgedge/apis/pgedge-control-plane-v1-api.md) · [All operations](https://skmtc.dev/pgedge/apis/pgedge-control-plane-v1-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pgedge/apis/pgedge-control-plane-v1-api/revisions/7826a4417be2?raw)
