- Overview
- What's New in V5?
- Changelog
- API Collection
- OAuth Authentication
- API Limits
- Multi DC Support
- Increase API Credits
- Customize API Usage Notification
- GDPR Compliance
- HIPAA Compliance
- API Dashboard
- HTTP Request Methods
- Status Codes
- Metadata APIs
- Modules
- Fields
- Layouts
- Related Lists
- Profiles
- Custom View
- Roles
- Territories
- GETTerritories
- POSTTerritories
- PUTTerritories
- DELETETerritories
- POSTTransfer and Delete Territories
- GETChild Territories of a Territory
- POSTAssign Territories to Records
- GETTerritories Assigned
- POSTRemove Territories of Records
- GETAssociated User Count
- PUTAssociate Users with Territory
- DELETEDisassociate Users from Territory
- GETRetrieve User details Associated with a Territory
- Scoring Rules
- Variables
- Map Dependency
- User Groups
- Tags
- Pipeline
- Wizards
- Assignment Rules
- Templates
- User's Unavailability
- Portals
- Fiscal Year
- Business Hours
- Holidays
- Record Locking Configuration
- Shift Hours
- Entity APIs
- Organization
- Users
- Records
- Related Records
- Records APIs using External ID
- Meeting Cancel
- Subforms
- Linking Modules
- Contact Roles
- Photos and Attachments
- Mass Update
- Mass Delete
- Currencies
- Files
- Share
- Fields' Attachments
- Change Owner
- Mass Change Owner
- Blueprint
- Emails
- Notes
- Related Records Using External ID
- Composite API
- Bulk APIs
- Notification APIs
- Query API
Update Related Records Using External ID
Purpose
To update the related list records using external IDs.
Request Details
Request URL
{api-domain}/crm/{version}/{module_api_name}/{external_field_API_name/value}/{related_list_api_name}
Header
Authorization: Zoho-oauthtoken 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, appointments, services and pricebooks
Possible operation types
ALL - Full access to the related records
WRITE - Edit related records
UPDATE - Update related records in the module
Associating 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 associate the contact with the deal.
Sample Request
Copiedcurl "https://www.zohoapis.com/crm/v5/Contacts/extcontact3/Deals"
-X PUT
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
-H "X-EXTERNAL: Contacts.External_Contact_ID,Deals.External_Deal_ID"
-d "@sample.json"
Sample Input
Copied{
"data": [
{
"External_Deal_ID": "extdeal3",
"Contact_Role": "111111000000026002"
}
]
}
Sample Response
Copied{
"data": [
{
"code": "SUCCESS",
"details": {
"External_Deal_ID": "extdeal3",
"id": "111111000000094028"
},
"message": "relation added",
"status": "success"
}
]
}
Associating a Contact and a Deal using the contact's record ID and the deal's external ID
In this example, extdeal2 is the value of the external field External_Deal_ID in the Deals module. We will use this value to associate it with the contact with the said record ID.
You can also associate a contact and deal with the contact's external value in the URL, and the deal's record ID in the input.
Possible Errors
- INVALID_DATAHTTP 400
The ID of the external field is invalid.
Resolution: Specify the correct external ID. - INVALID_DATAHTTP 400
You have specified an invalid external ID for the base module.
Resolution: Specify the correct external ID. - MANDATORY_NOT_FOUNDHTTP 400
You have specified the external ID in the header for the related module but not in the request body.
Resolution: It is mandatory to include the external field in the request body when you specify in the header.
Sample Request
Copiedcurl "https://www.zohoapis.com/crm/v5/Contacts/111111000000085009/Deals"
-X PUT
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
-H "X-EXTERNAL: Deals.External_Deal_ID"
-d "@sample.json"
Sample Input
Copied{
"data": [
{
"Contact_Role": "111111000000026002",
"External_Deal_ID": "extdeal3"
}
]
}
Sample Response
Copied{
"data": [
{
"code": "SUCCESS",
"details": {
"External_Deal_ID": "extdeal3",
"id": "111111000000094028"
},
"message": "relation added",
"status": "success"
}
]
}
© 2025, Zoho Corporation Pvt. Ltd. All Rights Reserved.