Delete Related Records Using External ID

Purpose

To delink the related list records using external IDs.

Request Details

Request URL

{api-domain}/crm/v2/{module_api_name}/{external_field_value}/{related_list_api_name}/{external_field_value}

Header

Authorization: Zoho-oauthtoken 100xx.d92d4xxxxxxxxxxxxx15f52

X-EXTERNAL: {module_API_name}.{external_field_API_name}

Scope

scope=ZohoCRM.modules.all
(or)
scope=ZohoCRM.modules.{module_name}.{operation_type}

Possible module names

leads, deals, contacts, accounts, products, campaigns, and pricebooks

Possible operation types

ALL - Full access to the related records
WRITE - Edit related records
DELETE - Delete related records from the module

Sample Request

Copiedcurl "https://zylkercorp.zohoplatform.com/crm/v2/Contacts/extcontact3/Deals/extdeal3"
-X DELETE
-H "Authorization: Zoho-oauthtoken 100xx.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
-H "X-EXTERNAL: Contacts.External_Contact_ID"
1.0.0
Copied//Get instance of RelatedRecordsOperations Class that takes moduleAPIName, recordId and relatedListAPIName as parameter
let relatedRecordsOperations = new ZCRM.RelatedRecord.Operations(relatedListAPIName, recordId, moduleAPIName);
//Get instance of ParameterMap Class
let paramInstance = new ParameterMap();
/* Possible parameters of Delink Records operation */
for(let relatedListId of relatedListIds) {
    await paramInstance.add(ZCRM.RelatedRecord.Model.DelinkRecordsParam.IDS, relatedListId);
}
//Call delinkRecords method that takes ParameterMap instance as parameter.
let response = await relatedRecordsOperations.delinkRecords(paramInstance);






//Get instance of RelatedRecordsOperations Class that takes moduleAPIName, recordId and relatedListAPIName as parameter
let relatedRecordsOperations = new ZCRM.RelatedRecord.Operations(relatedListAPIName, recordId, moduleAPIName);
//Call delinkRecord method that takes relatedListId as parameter.
let response = await relatedRecordsOperations.delinkRecord(relatedListId);
De-linking a Contact and a Deal using their external IDs
  • In this example, extcontact3 and extdeal3 are the values of the external fields External_Contact_ID and External_Deal_ID in the Contacts and Deals modules, respectively. we will reference these values to delink the deal from the contact.

Possible Errors

  • INVALID_DATAHTTP 400

    You have specified either an incorrect external ID of the related record or the base module's record. The details key in the response gives you the name of the external field whose ID is incorrect.
    Resolution: Specify the correct external ID of the related record.

Sample Response

Copied{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "111111000000094040"
            },
            "message": "relation removed",
            "status": "success"
        }
    ]
}