---
title: "Delete a SaveHQ category"
method: POST
path: "/api/v1/actions/delete_category"
tags: ["Change the board"]
---

# Delete a SaveHQ category

`POST /api/v1/actions/delete_category`

## Request

- Base URL: `https://savehq.app`
- URL: `https://savehq.app/api/v1/actions/delete_category`
- Auth: HTTP bearer

Delete one of the user's categories. Its saves are never deleted. With moveTo (another of their categories, by id or name) its saves move into that category first, as in a merge: none is doubled, and the deleted name still finds them in search. Without moveTo they stay on the board: any also in another category stay there, the rest become uncategorized. Needs the user's OK: the first call returns a preview, which says how many saves the category has and where they'll go, and a confirmToken. One undo_change brings the category back with its saves as they were.

Needs the person's OK: always.

## Request body

- object
  - `categoryId` string, required: A category id exactly as given to you.
  - `moveTo` string: Optional: the category to move its saves into before it's deleted, by id or by name (e.g. 'Recipes').
  - `confirmToken` string: The confirmToken returned with this change's preview, once the user has agreed to it.

## Response `200`

Done (status "done", with summary and changeId), or nothing to change

- ChangeDone
  - `status` 'done' | 'no_change'
  - `summary` string
  - `changeId` string
  - `message` string

## Other responses

- `202`: Not done yet: needs the person's OK. Send the same request again with confirmToken.
- `400`: Something to fix in the request
- `401`: Missing, expired or revoked API key or token
- `429`: Over 60 requests a minute for this person; retry after 60 seconds

---

[API](https://skmtc.dev/savehq/apis/savehq-api.md) · [All operations](https://skmtc.dev/savehq/apis/savehq-api/llms.txt) · [OpenAPI document](https://skmtc.dev/savehq/apis/savehq-api/revisions/14aa80bad77d?raw)
