---
title: "Delete Marketing Presets"
method: DELETE
path: "/marketing-presets/bulk"
tags: ["marketing-presets"]
---

# Delete Marketing Presets

`DELETE /marketing-presets/bulk`

Soft-delete several product lines, none of which may ever have been used.

All or nothing, which is the single-row rule applied to a selection rather
than a second one: removing the rest of a selection the caller confirmed as
a whole would take out more than they can see they asked for. The list
already carries each row's usage, so the UI can refuse before the request;
this catches the selection whose counts went stale.

The rows are retained and stop appearing anywhere a product line is listed
or picked, so deleting the same selection twice is a 404 rather than a
second delete.

## Request body

- MarketingPresetBulkDelete
  - `preset_ids` string[], required

## Response `204`

Successful Response

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/kobaltlabs/apis/fastapi.md) · [All operations](https://skmtc.dev/kobaltlabs/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kobaltlabs/fastapi/revisions/425d5b8a3c17/schema)
