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.DELETEorDesk.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_idbefore sending the request.
What to check
- Scope validation: Confirm your active OAuth token includes
Desk.settings.DELETEorDesk.settings.ALLand that the token has not expired. [2] - Correct view ID: Verify the
view_idyou are passing actually corresponds to the intended view — list views first and cross-reference before deleting. [1] - Post-deletion confirmation: After the
DELETEcall returns successfully, attempt to fetch the view via aGETrequest to confirm it no longer exists and has not simply been deactivated. [1]