Beam Help
Get help now

How-to · Zoho DESK

How to delete labels in Zoho Desk Help Center

Remove multiple labels from your help center in one action.

Deleting labels in the Zoho Desk Help Center can be accomplished via the REST API, either one label at a time or in bulk — and you can also detach labels from specific users without removing the label itself.


Why this matters


Help Center labels help segment and organise your community users, but over time they can accumulate and become stale. Knowing which API endpoint to call — and when — keeps your Help Center tidy and ensures users aren't tagged with outdated or irrelevant classifications. As independent expert support (not official Zoho support), Beam Help walks you through each available deletion path below.


---


Step-by-step


There are three distinct operations available, depending on what you want to achieve.


---


Option A — Delete a single label by its ID


Step 1. Identify the helpcenterid for your portal and the labelid of the label you want to remove. Both values can be retrieved from earlier GET calls against the Help Center API.


Step 2. Send a DELETE request to the following endpoint, substituting your real IDs:


DELETE /api/v1/helpcenter/{helpcenter_id}/labels/{label_id}

This permanently removes the label from your Help Center. [2]


Step 3. In Python, the call looks like this:


result = client.delete_label(helpcenter_id="your_hc_id", label_id="your_label_id")

Pass any optional query parameters through the p dictionary argument if required. [2]


---


Option B — Delete multiple labels in one request


Step 1. Collect the list of label_id values you want to purge and prepare them as a parameter payload (typically passed as the p argument, e.g. {"labelIds": ["id1", "id2"]}).


Step 2. Send a DELETE request to the bulk endpoint:


DELETE /api/v1/helpcenter/{helpcenter_id}/labels

This removes all labels whose IDs are supplied in the request body in a single API call. [3]


Step 3. In Python:


result = client.delete_label_by_labelids(
    helpcenter_id="your_hc_id",
    p={"labelIds": ["id1", "id2"]}
)

[3]


---


Option C — Remove labels from a specific user (without deleting the label)


If you only want to unassign a label from one user rather than deleting it globally, use the user-scoped endpoint instead.


Step 1. Obtain both the helpcenterid and the userid of the community member whose labels you want to strip.


Step 2. Send a DELETE request to:


DELETE /api/v1/helpcenter/{helpcenter_id}/users/{user_id}/labels

This detaches the specified labels from that user's profile but leaves the label definition intact for other users. [1]


Step 3. In Python:


result = client.remove_labels_from_user(
    helpcenter_id="your_hc_id",
    user_id="your_user_id",
    p={"labelIds": ["id1"]}
)

[1]


---


Option D — Remove all users under a label (inverse of Option C)


If you want to clear every user assignment tied to a particular label before deleting it, call the users-under-label endpoint first.


Step 1. Send a DELETE request to:


DELETE /api/v1/helpcenter/{helpcenter_id}/labels/{label_id}/users

This strips all user associations from the label without deleting the label record itself. [5]


Step 2. After confirming the label has no remaining user associations, proceed with Option A or Option B above to delete the label. [2][3]


---


Common pitfalls


  • Authentication errors (HTTP 401): If the API returns a 401, your OAuth token has expired or the required scopes are missing. Ensure your token includes at minimum Desk.settings.ALL or the relevant Desk.settings.DELETE scope, since label management falls under Help Center settings. [4]
  • Confusing "remove from user" with "delete label": Calling removelabelsfromuser only unlinks the label from one user — the label still exists in the system. To fully purge it, you must follow up with deletelabel or deletelabelby_labelids. [1][2]
  • Missing labelid vs. bulk labelIds: The single-label endpoint uses a path parameter (/labels/{labelid}), while the bulk endpoint expects the IDs in the request payload (p). Mixing these up will result in a malformed request. [2][3]

---


What to check


  • Confirm the label no longer appears by running a GET against /api/v1/helpcenter/{helpcenter_id}/labels after deletion. [2]
  • Verify user profiles are clean — if you deleted a label that was assigned to users, spot-check a few user records to ensure the association was also removed. [1][5]
  • OAuth scopes are in place — review your app's configured Zoho Desk scopes and confirm Desk.settings.DELETE (or Desk.settings.ALL) is present before making destructive calls. [4]

Sources cited

  1. [1] DELETE /api/v1/helpcenter/{helpcenter_id}/users/{user_id}/labels
  2. [2] DELETE /api/v1/helpcenter/{helpcenter_id}/labels/{label_id}
  3. [3] DELETE /api/v1/helpcenter/{helpcenter_id}/labels
  4. [4] config.py
  5. [5] DELETE /api/v1/helpcenter/{helpcenter_id}/labels/{label_id}/users
  6. [6] server.py: apply_plan
  7. [7] server.py: _clarifying_question_from_tool_error
  8. [8] DELETE /api/v1/helpcenter/{helpcenter_id}/users/{user_id}/badges
Delete Labels in Zoho Desk | Beam Help — Beam Help