Delete Records Using External ID

Purpose

To delete the records in a module using external IDs.

Request Details

Request URL

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

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 records
WRITE - Edit records in the module
DELETE - Delete records from the module

Deleting a record using an external ID
  • In this example, we will delete the record in the Contacts module with the external value extcontact3 in the external field "External_Contact_ID".

Sample Request

Copiedcurl "https://zylkercorp.zohoplatform.com/crm/v2/Contacts/extcontact3"
-X DELETE
-H "Authorization: Zoho-oauthtoken 100xx.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
-H "X-EXTERNAL: Contacts.External_Contact_ID"
1.0.0
Copied//Get instance of RecordOperations Class
let recordOperations = new ZCRM.Record.Operations();
//Get instance of ParameterMap Class
let paramInstance = new ParameterMap();
/* Possible parameters for Delete Records operation */
for(let recordId of recordIds) {
    await paramInstance.add(ZCRM.Record.Model.DeleteRecordsParam.IDS, recordId);
}
await paramInstance.add(ZCRM.Record.Model.DeleteRecordsParam.WF_TRIGGER, "true");
//Call deleteRecords method that takes paramInstance and moduleAPIName as parameter.
let response = await recordOperations.deleteRecords(moduleAPIName, paramInstance);



//Get instance of RecordOperations Class
let recordOperations = new ZCRM.Record.Operations();
//Get instance of ParameterMap Class
let paramInstance = new ParameterMap();
//Possible parameters for Delete Record operation
await paramInstance.add(ZCRM.Record.Model.DeleteRecordParam.WF_TRIGGER, "true");
//Call deleteRecord method that takes paramInstance, ModuleAPIName and recordId as parameter.
let response = await recordOperations.deleteRecord(recordId, moduleAPIName, paramInstance);

Sample Response

Copied{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "External_Contact_ID": "extcontact4",
                "id": "111111000000110002"
            },
            "message": "record deleted",
            "status": "success"
        }
    ]
}
Deleting the records using the "ids" parameter
  • In this example, we have used the "ids" parameter with values as the values of the external field in the Contacts module.

Sample Request

Copiedcurl "https://zylkercorp.zohoplatform.com/crm/v2/Contacts?ids=extcontact3,extcontact4"
-X DELETE
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
-H "X-EXTERNAL: Contacts.External_Contact_ID"

Sample Response

Copied{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "External_Contact_ID": "extcontact3",
                "id": "111111000000101047"
            },
            "message": "record deleted",
            "status": "success"
        },
        {
            "code": "SUCCESS",
            "details": {
                "External_Contact_ID": "extcontact4",
                "id": "111111000000101018"
            },
            "message": "record deleted",
            "status": "success"
        }
    ]
}

Possible Errors

  • INVALID_DATAHTTP 202

    The value of the external field is invalid.
    Resolution: Specify the correct external ID of the record.