POST/PUT contact using old but available email



It seems like Hubspot Contact API does not allow to create a new contact with the email that was assigned to user once but later on changed, because hubspot keeps/checks historical data also. For example:
Contact A is created with email X but later on the email is changed to Y.
New Contract B wants to be created with email X but the api returns Conflict (409), because it thinks that the second contract is actually Contract A, which in my case is not.

Although it could be a smart feature to detect duplicate contacts, but it’s not working for my integration. I want to be able to create a new contract for each unique email (even if the hubspot finds that the contract is duplicate). Basically I like to have the exact number of contacts as my users list, regardless if the user registered more than once or not.

I want to know is there any way on API to disable/bypass this feature.



@Ashnik There isn’t a way to disable the de-duplication by email address. You can however merge contacts if they are the same person. If HubSpot returns a 409 you could then create a fake email and merge the contact record to the new contact and then update the email address to the correct one. I know this can be cumbersome but there isn’t a way to turn off the email address being the unique identifier at this point in time.