Deleting a dependency mapping in Zoho Desk is a single API call — you issue a DELETE request to the dependency mappings endpoint, supplying the ID of the mapping you want to remove.
Why this matters
Dependency mappings control how field values in one picklist constrain the available options in another, directly shaping what agents and customers see on ticket forms. Over time, layouts evolve and outdated mappings can cause confusion or block valid field combinations. Knowing how to remove a stale mapping programmatically lets you keep your Zoho Desk configuration clean without manual UI hunting. This guide is provided by Beam Help — independent expert support for Zoho, and is not official Zoho support.
---
Step-by-step
Step 1. Gather your OAuth credentials and confirm your scopes.
Before making any API call, ensure your connected OAuth client includes the settings-level permissions for Zoho Desk. The required scope group covers Desk.settings.DELETE (along with Desk.settings.READ, Desk.settings.WRITE, etc.). Without the delete scope in your token, the request will be rejected. [3]
Step 2. Identify the dependency mapping ID you want to delete.
You need the exact dependencyMappingId string before you can delete anything. To retrieve it, call the list endpoint first:
GET /api/v1/dependencyMappings
This operation — listdependencymappingsinlayout — returns all dependency mappings currently configured in your layout, and you can pass optional query parameters via the p argument to filter results. [5] Note the ID of the mapping you intend to remove.
Step 3. Issue the DELETE request.
With the ID in hand, call:
DELETE /api/v1/dependencyMappings/{dependencyMappingId}
Replace {dependencyMappingId} with the actual ID string you retrieved in Step 2. The operation is named deletedependencymapping in the Zoho Desk API. [1]
If you are using a Python client wrapper, the call looks like this:
client.delete_dependency_mapping(dependencyMappingId="your-mapping-id-here")
The method sends a DELETE HTTP request to /api/v1/dependencyMappings/{dependencyMappingId} and returns the API response. An optional p parameter can be passed as a dictionary for any additional query-string values. [1]
Step 4. Confirm the deletion.
After a successful response, re-run the GET /api/v1/dependencyMappings list call from Step 2. The deleted mapping should no longer appear in the returned collection. [5]
---
Common pitfalls
- Wrong scope in your token. If your OAuth token was generated without
Desk.settings.DELETE, the API will return an authorisation error. Re-check your scope configuration and regenerate the token if needed. [3] - Using a CRM mapping ID instead of a Desk mapping ID. The
deletemapdependencytool belongs to the CRM service, not Zoho Desk. Make sure you are targeting the Desk endpoint (/api/v1/dependencyMappings/) and not a CRM dependency operation. [2] - Stale or incorrect mapping ID. Dependency mapping IDs are not human-readable names — always fetch the current list first rather than hard-coding an ID, since IDs can differ between Zoho Desk portals and data centres. [5]
---
What to check
- Scope presence: Verify that
Desk.settings.DELETEappears in your active OAuth token's scope list before making the call. [3] - Correct endpoint and ID format: Confirm the
dependencyMappingIdvalue was taken from a freshGET /api/v1/dependencyMappingsresponse, not from a cached or CRM-sourced record. [^1, ^5] - Post-deletion list: Re-query
GET /api/v1/dependencyMappingsto confirm the mapping is absent and that no dependent field behaviour has been unintentionally disrupted in your layout. [5]