Beam Help
Get help now

How-to · Zoho DESK

How to delete a view in Zoho Desk

Remove a custom ticket view from your Desk account.

Deleting a view in Zoho Desk is straightforward via the API: send a DELETE request to the views endpoint with the target view's ID, and Zoho Desk will remove it permanently.


Why this matters


Custom views help agents filter and prioritise tickets, but over time stale or redundant views clutter the interface. Whether you're doing a periodic clean-up, decommissioning a workflow, or automating view lifecycle management through a script, knowing the correct API call saves time and avoids manual UI hunting. This is especially useful when managing views at scale across multiple departments.


Step-by-step


Step 1. Confirm you have the correct OAuth scopes configured for your Zoho Desk integration. At minimum your token must include Desk.settings.DELETE (and ideally the full Desk.settings.ALL scope) to authorise destructive operations against settings resources like views. [2]


Step 2. Retrieve the view_id of the view you want to remove. You can obtain this by listing views through the Zoho Desk API beforehand, or by inspecting the view URL in the Zoho Desk interface. Keep this ID handy — it is a required path parameter. [1]


Step 3. Construct your DELETE request targeting the endpoint /api/v1/views/{viewid}, substituting {viewid} with the actual identifier you retrieved in the previous step. No request body is required; the view ID in the path is sufficient to identify the resource. [1]


Step 4. Send the request. Using Python, the call looks like this (paraphrased from the underlying implementation):


# Assuming `client` is your authenticated Zoho Desk API client
client.request("DELETE", f"/api/v1/views/{view_id}", None, None)

A successful response will confirm the view has been deleted. [1]


Step 5. If you are working with Zoho CRM custom views rather than Zoho Desk views, note that the endpoint is entirely different: DELETE /settings/custom_views/{vid}, and it requires a module parameter (e.g., "Leads", "Contacts") to identify which module's view is being removed. Do not mix up these two endpoints. [3]


---


> Beam Help is independent expert support for Zoho — we are not official Zoho support. Always test destructive API calls in a sandbox or staging environment before running them against production data.


---


Common pitfalls


  • Wrong scope: If your OAuth token lacks Desk.settings.DELETE or Desk.settings.ALL, the API will return an authorisation error. Double-check your scope list in your environment configuration before debugging the request itself. [2]

  • Mixing up Desk views and CRM custom views: The Zoho Desk view deletion endpoint (/api/v1/views/{viewid}) and the Zoho CRM custom view endpoint (/settings/customviews/{vid}) are completely separate. Using the CRM endpoint against a Desk view ID (or vice versa) will either return a 404 or silently fail. [1][3]

  • Deleting a layout instead of a view: Zoho Desk also exposes a DELETE /api/v1/layouts/{layoutId} endpoint for removing layouts — a different resource type. Confirm you are targeting a *view* ID and not a *layout* ID before executing the call. [7]

  • Irreversible action: View deletion in Zoho Desk is permanent. There is no recycle bin or undo mechanism exposed through the API. Always verify the view_id before sending the request.

What to check


  • Scope validation: Confirm your active OAuth token includes Desk.settings.DELETE or Desk.settings.ALL and that the token has not expired. [2]
  • Correct view ID: Verify the view_id you are passing actually corresponds to the intended view — list views first and cross-reference before deleting. [1]
  • Post-deletion confirmation: After the DELETE call returns successfully, attempt to fetch the view via a GET request to confirm it no longer exists and has not simply been deactivated. [1]

Sources cited

  1. [1] DELETE /api/v1/views/{view_id}
  2. [2] config.py
  3. [3] DELETE /settings/custom_views/{vid}
  4. [4] index.html
  5. [5] server.py: build_zoho_links
  6. [6] browser_automation.py
  7. [7] DELETE /api/v1/layouts/{layoutId}
  8. [8] server.py: chat_plan_stream
Delete View | Beam Help — Beam Help