Beam Help
Get help now

How-to · Zoho DESK

How to remove labels from a user in Zoho Desk

Unassign labels from users quickly via API.

Removing labels from a Help Center user in Zoho Desk is done via a dedicated DELETE endpoint that targets the user's label associations — without affecting the labels themselves. This guide walks through both available approaches using the Zoho Desk API.


---


Why this matters


Labels in Zoho Desk's Help Center let you segment and categorise portal users for targeted content, permissions, or workflows. Over time, users may change roles or segments, making it necessary to detach specific labels from individual accounts. Equally, you may need to bulk-remove all users from a given label before retiring it. Knowing which endpoint to call in each scenario saves time and prevents accidental data loss.


---


Step-by-step


Approach A — Remove one or more labels from a specific user


This is the most common path: you know the user and want to strip certain labels from their profile.


Step 1. Gather the three identifiers you will need: your Help Center ID (helpcenterid), the target user's ID (userid), and the IDs of the labels you want to remove. These are all available from earlier GET calls against the same Help Center resource tree.


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


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

Pass the label identifiers you wish to remove inside the request payload (p parameter). [1]


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


result = desk_api.remove_labels_from_user(
    helpcenter_id="your_helpcenter_id",
    user_id="target_user_id",
    p={"labelIds": ["label_id_1", "label_id_2"]}
)

The method sends a DELETE request to the constructed path and returns the API response. [1]


Step 4. Confirm the response indicates success. A clean 200-level response means the label associations have been removed from that user's record.


---


Approach B — Remove users from a label (label-centric removal)


If you are managing from the label side — for example, clearing all users before deleting a label — use the complementary endpoint instead.


Step 1. Collect your helpcenterid, the labelid you want to depopulate, and the list of user_id values to detach.


Step 2. Issue a DELETE request to:


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

Include the user identifiers in the request body (p parameter). [2]


Step 3. In Python:


result = desk_api.remove_users_under_a_label(
    helpcenter_id="your_helpcenter_id",
    label_id="target_label_id",
    p={"userIds": ["user_id_1", "user_id_2"]}
)

This removes the specified users from that label without touching the label definition itself. [2]


---


Authentication and OAuth scopes


Both endpoints require a valid OAuth 2.0 access token scoped for Zoho Desk. Ensure your connected application includes at minimum Desk.settings.READ and Desk.settings.DELETE (or Desk.settings.ALL) in its scope configuration, as label and user management falls under the settings resource family. [3]


If your token has expired, the API layer will attempt a refresh using the stored refresh_token before retrying the request. [7]


---


Common pitfalls


  • Confusing label removal with label deletion. The endpoint at DELETE /api/v1/helpcenter/{helpcenterid}/labels/{labelid} *deletes the label entirely* from the Help Center. [5] The endpoint at DELETE /api/v1/helpcenter/{helpcenterid}/users/{userid}/labels only removes the association between a user and a label — the label continues to exist. [1] Always double-check which endpoint you are calling.

  • Bulk label deletion by IDs. There is a separate endpoint (DELETE /api/v1/helpcenter/{helpcenter_id}/labels) that accepts multiple label IDs and deletes the labels themselves. [6] Do not use this when your intent is simply to unassign labels from users.

  • Mixing up badges and labels. Zoho Desk also exposes a DELETE /api/v1/helpcenter/{helpcenterid}/users/{userid}/badges endpoint for removing *badges* from users. [4] These are distinct from labels; sending a badge-removal request will not affect label assignments.

  • Missing helpcenterid. Every Help Center API call requires a valid helpcenterid. If your integration does not yet store this value, retrieve it from the organisations/Help Center listing endpoint before proceeding.

---


What to check


  • Verify the label is still present but unassigned — after calling Approach A, confirm via a GET on the user's profile that the label no longer appears in their label list, while the label itself still exists in the Help Center.
  • Confirm OAuth scopes include settings permissions — if you receive a 401 or 403 response, review your Zoho Desk OAuth scope configuration and ensure Desk.settings.ALL or the relevant granular scopes are included. [3]
  • Check you are not accidentally deleting the label definition — run a GET against helpcenter/{helpcenterid}/labels/{labelid} after the operation to confirm the label record still exists if it should.

---


*Beam Help is an independent expert support resource for Zoho products and is not official Zoho support. Always test API calls in a sandbox environment before running them against production data.*

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}/users
  3. [3] config.py
  4. [4] DELETE /api/v1/helpcenter/{helpcenter_id}/users/{user_id}/badges
  5. [5] DELETE /api/v1/helpcenter/{helpcenter_id}/labels/{label_id}
  6. [6] DELETE /api/v1/helpcenter/{helpcenter_id}/labels
  7. [7] server.py: get_zoho_api
  8. [8] run_llm_routing_suite.py
Remove Labels From User | Beam Help