Delete Records Using External ID
Purpose
To delete the records in a module using external IDs.
Endpoints
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"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.