---
title: "Bulk Delete Downloads"
method: POST
path: "/utilities/downloads/bulk-delete"
tags: ["Utilities"]
---

# Bulk Delete Downloads

`POST /utilities/downloads/bulk-delete`

## Request

- Base URL: `https://sylve.lan:8181/api`
- URL: `https://sylve.lan:8181/api/utilities/downloads/bulk-delete`
- Auth: API key in header `Authorization`

Delete unique downloads after strict all-member preflight; missing, referenced, active, or unsafe members prevent all deletion, while unexpected cleanup failures return typed partial results

## Request body

- InternalHandlersUtilitiesBulkDeleteDownloadRequest
  - `ids` integer[], required

## Response `200`

Success

- GithubComAlchemillahqSylveInternalAPIResponseGithubComAlchemillahqSylveInternalInterfacesServicesUtilitiesDownloadDeleteResult
  - `data` GithubComAlchemillahqSylveInternalInterfacesServicesUtilitiesDownloadDeleteResult
    - `deleted` GithubComAlchemillahqSylveInternalInterfacesServicesUtilitiesDownloadDeleteItem[]
      - `id` integer
      - `name` string
      - `type` 'http' | 'torrent' | 'path'
      - `uuid` string
    - `failed` GithubComAlchemillahqSylveInternalInterfacesServicesUtilitiesDownloadDeleteFailure[]
      - `code` string
      - `id` integer
      - `name` string
      - `retainedPaths` string[]
      - `type` 'http' | 'torrent' | 'path'
      - `uuid` string
      - `vmReferences` GithubComAlchemillahqSylveInternalInterfacesServicesUtilitiesDownloadDeleteVMReference[]
        - `storageId` integer
        - `vmId` integer
        - `vmName` string
        - `vmRid` integer
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: One or more downloads not found; nothing deleted
- `409`: One or more downloads active, referenced, or unsafe; nothing deleted
- `413`: Request body too large
- `500`: Cleanup or persistence failure, possibly partial

## Changes

- **2026-08-12** `9a5026bf9057`: 5 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `404`
  - added the non-success response with the status `409`
  - …1 more
- **2025-05-26** `597f6a4102c6`: 1 info
  - endpoint added
- **2025-03-11** `2b736ca1b025`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/alchemillahq/apis/sylve-api/changes/utilities/downloads/bulk-delete/post.md)

---

[API](https://skmtc.dev/alchemillahq/apis/sylve-api.md) - [All operations](https://skmtc.dev/alchemillahq/apis/sylve-api/llms.txt) - [OpenAPI document](https://skmtc.dev/alchemillahq/apis/sylve-api/revisions/9565cdd0abf5?raw)
