> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mercurjs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# deleteProductAttributeValuesWorkflow

> Delete attribute values and shrink the mirror option accordingly.

Deletes attribute values by id. When the deleted values belong to a single variant-axis `multi_select` attribute with a mirror `ProductOption`, the option's value list is rewritten to the attribute's remaining value names. Triggered by `DELETE /admin/product-attributes/:id/values/:value_id`; also run internally by the batch update engine. Emits `product-attribute-value.deleted`.

## Usage

```ts theme={null}
import { deleteProductAttributeValuesWorkflow } from "@mercurjs/core/workflows"

await deleteProductAttributeValuesWorkflow(container).run({
  input: { ids: ["pattrval_123", "pattrval_456"] },
})
```

## Input

<ParamField body="ids" type="string[]" required>Ids of the attribute values to delete.</ParamField>
<ParamField body="additional_data" type="object">Custom data passed through to the hooks.</ParamField>

## Result

<ResponseField name="result" type="void">No return value.</ResponseField>

## Hooks

* `validate` — runs before deletion with `{ input }`.
* `productAttributeValuesDeleted` — runs after deletion with `{ ids, additional_data }`.
