> For AI agents: the documentation index is at https://docs.gethandup.dev/llms.txt. Append .md to any page URL (without the trailing slash) for Markdown, for example https://docs.gethandup.dev/cli.md.

# cleanup_cancel

`POST /v1/storage/cleanup/{id}/cancel`

Cancel a cleanup. Local, and decide scope on paired devices.

## Parameters

### Path Parameters

- **id** (required): `string`

## Responses

### 200

Stops after the current batch; what was already removed stays removed

Media type: `application/json`

`object`

A background cleanup. The daemon runs one at a time in small batches, so
requests and decisions keep working while it runs.

- **id** (required): `string`
- **target** (required): `string`

  What a cleanup removes.

  Allowed values: `history` `files`

- **older_than_days** (required): `integer` format: int32, >= 0

  0 = every resolved request.

- **keep_newest**: `integer` format: int32, >= 0

  Newest resolved requests kept; 0 = no count limit.

- **state** (required): `string`

  Allowed values: `running` `done` `cancelled` `failed`

- **total** (required): `integer` format: int64, >= 0

  Items to process, counted at the start: requests (history) or files (files).

- **done** (required): `integer` format: int64, >= 0

  Items processed so far.

- **requests_deleted** (required): `integer` format: int64, >= 0
- **files_deleted** (required): `integer` format: int64, >= 0
- **bytes_freed** (required): `integer` format: int64, >= 0

  Bytes freed: removed files plus database pages released by deleted rows.

- **compacting** (required): `boolean`

  Returning freed database pages to the filesystem (incremental vacuum).

- **started_at** (required): `integer` format: int64, >= 0

  Unix milliseconds.

- **finished_at**: `integer | null` format: int64, >= 0
- **error**: `string | null`

  Set when `state` is `failed`.

### 403

Remote device without decide scope

### 404

Not the running or most recent cleanup
