We are seeing an issue using the Upsert API endpoint where the requested duplicate_check_fields provided appears to occasionally fail and upserts an unexpected entity.
Observations:
The API endpoint we are using to update data:
`https://www.zohoapis.com/crm/v2/contacts/upsert`
1st Sent request
```
{
data: [
{
"Email": "example@example.com",
"First_Name": "Timothy",
"Custom_Id": "544",
"Another_Custom_Id": "6840"
}
],
duplicate_check_fields: ['Custom_Id'],
trigger: []
}
```
Expected: Update Timothy's data appropriately.
Actual: Updated Timothy's data appropriately.
2nd Sent request (3 days later)
```
{
data: [
{
"Email": "example2@example.com",
"First_Name": "Erin",
"Custom_Id": "1645",
"Another_Custom_Id": "4290"
},
],
duplicate_check_fields: ['Custom_Id'],
trigger: []
}
```
Note that Timothy (Custom_Id = 544) already exists as a Contact in Zoho.
A contact with the same email as Erin exists in Zoho as well, but the Custom_Id is empty.
Expected:
- Erin will be not be found and inserted since Custom_Id 1645 is not associated to any Contact.
Actual:
- Erin is not inserted.
- Timothy is overwritten with Erin's data.
In the timeline for Timothy:
First Name was updated from Timothy to Erin
Email was updated from example@example.com to example2@example.com
Custom ID was updated from 544 to 1645
Another Custom ID was updated from 6816 to 4290
Our team has been unable to reproduce this issue during troubleshooting, but we have found 700+ contacts that have been overwritten with data that doesn't match up with their Custom_Id.
Hoping we can get some assistance to help identify what may be wrong with our request? Note: Custom_Id is a unique custom field.