---
title: "Bulk-delete groups (v2)"
method: POST
path: "/v2/groups/batch-delete"
tags: ["groups"]
---

# Bulk-delete groups (v2)

`POST /v2/groups/batch-delete`

Permanently delete multiple groups in a single request. Uses `Promise.allSettled` semantics: a 200 response can carry per-row failures in `data.failed[]` so cache writers can invalidate just the rows that succeeded. `Idempotency-Key` is optional. Returns `{ data: { affected, ids, failed? } }`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `groupIds` string[], required

## Response `200`

Successful response

- object
  - `data` object, required
    - `affected` integer, required
    - `ids` string[]
    - `failed` object[]
      - `id` string, required
      - `error` object, required
        - `code` string, required
        - `message` string, required

## Other responses

- `400` — Request body failed validation.
- `401` — Missing or invalid API key.
- `403` — Valid key, insufficient permission.
- `404` — Resource does not exist.
- `409` — Request body failed validation.
- `429` — Rate limit exceeded.
- `500` — Unexpected server error.

---

[API](https://skmtc.net/getdex/apis/dex-public-api.md) · [All operations](https://skmtc.net/getdex/apis/dex-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getdex/dex-public-api/versions/6f01cd52ac12/schema)
