# Add/Edit/Remove Non Primary Emails from Contact API

**URL:** <https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611>\
**Category:** HubSpot Ideas\
**Tags:** object\
**Created:** [February 1, 2018, 3:43pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611 "2018-02-01T15:43:44Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![brian\_aloe\_ai](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/brian_aloe_ai/32/93181_2.png) [@brian\_aloe\_ai](https://community.hubspot.com/u/brian_aloe_ai)\
**Post date:** [February 1, 2018, 3:43pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/1 "2018-02-01T15:43:44Z")

</div>

We want to give our users the ability to edit the non primary emails for a HubSpot Contact from our app. We need you (HubSpot) to support the adding/edit/removal of these secondary emails through the API to do so !

---

<div class="post-metadata">

**Author:** ![tmccombs](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/tmccombs/32/48165_2.png) [@tmccombs](https://community.hubspot.com/u/tmccombs)\
**Post date:** [February 5, 2018, 8:56pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/2 "2018-02-05T20:56:53Z")

</div>

This functionality would greatly simplify and streamline integrations with other platforms!

Possible ideas for HS Devs: If there was a way to post to the current read\_only property ‘hs\_additional\_emails’, or including a similar property when using any of the create/update contact endpoints? Otherwise, maybe including some functionality directly through the identity profiles when using any of the create/update contact endpoints?

---

<div class="post-metadata">

**Author:** ![cholmes](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/cholmes/32/7115_2.png) [@cholmes](https://community.hubspot.com/u/cholmes)\
**Post date:** [April 18, 2018, 1:02pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/3 "2018-04-18T13:02:03Z")

</div>

Our client is also asking for this. We are trying to integrate an existing database.

---

<div class="post-metadata">

**Author:** ![afonseca](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/afonseca/32/41077_2.png) [@afonseca](https://community.hubspot.com/u/afonseca)\
**Post date:** [May 19, 2018, 8:59pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/4 "2018-05-19T20:59:46Z")

</div>

I’m surprised this functionality is missing from the current API as the hs\_additional\_emails is read only. Please either make it writeable or provide additional methods to support full access to this core feature.

---

<div class="post-metadata">

**Author:** ![clintonskakun](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/clintonskakun/32/3971_2.png) [@clintonskakun](https://community.hubspot.com/u/clintonskakun)\
**Post date:** [November 22, 2018, 9:32pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/5 "2018-11-22T21:32:32Z")

</div>

Yeah this is huge as well for us! We need a way to remove one or more email address. A in-place replace would be the most ideal.

Also, webhooks should be a bit more informative about this as well. Otherwise we end up pushing or replacing existing email addresses, not knowing if they’re updated, deleted or what.

---

<div class="post-metadata">

**Author:** ![sonpn](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/sonpn/32/33328_2.png) [@sonpn](https://community.hubspot.com/u/sonpn)\
**Post date:** [November 30, 2018, 9:36am UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/6 "2018-11-30T09:36:24Z")

</div>

I really need Hubspot Devs to allow subscribe event change value of hs\_additional\_emails.

Currently, it shows in webhook config but doesn’t work.

---

<div class="post-metadata">

**Author:** ![sbsmith](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/sbsmith/32/31639_2.png) [@sbsmith](https://community.hubspot.com/u/sbsmith)\
**Post date:** [December 18, 2018, 11:11pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/7 "2018-12-18T23:11:58Z")

</div>

This is really important to us. We are an email provider, so every contact that becomes a customer winds up with multiple email addresses, and we need to manipulate those with the API!

---

<div class="post-metadata">

**Author:** ![KevinSD](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/kevinsd/32/9373_2.png) [@KevinSD](https://community.hubspot.com/u/KevinSD)\
**Post date:** [January 9, 2019, 2:31pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/8 "2019-01-09T14:31:30Z")

</div>

This is one of the (multiple) cases where the API is not in line with the App.  
Giving the ability to have multiple email addresses in a contact (quite normall these days) would asume that you can use it productwide. But apperently you guys make a difference between the App and the API.

Please get the API up to date with all the functionality you offer. And also don’t forget how you handle these multiple emailadresses in combination with the Transactional Email API.

---

<div class="post-metadata">

**Author:** ![markkofman](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/markkofman/32/24823_2.png) [@markkofman](https://community.hubspot.com/u/markkofman)\
**Post date:** [January 9, 2019, 4:01pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/9 "2019-01-09T16:01:04Z")

</div>

Yes, please! super important for our customers as well.

---

<div class="post-metadata">

**Author:** ![JerryReid](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/jerryreid/32/95715_2.png) [@JerryReid](https://community.hubspot.com/u/JerryReid)\
**Post date:** [February 12, 2019, 11:03pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/10 "2019-02-12T23:03:47Z")

</div>

This is a major roadblock for us and we need HubSpot to pull through on this idea ASAP to make the platform work for us. We already built a custom object in Salesforce to track multiple contact emails per contact and need to sync these emails with the HubSpot emails field. For some reason, the updated primary email in HubSpot cannot be synced back to Salesforce in our current implementation as that led to other problems, so we have to push the updates into HubSpot from Salesforce and vice versa.

---

<div class="post-metadata">

**Author:** ![GiuseppeShipit](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/giuseppeshipit/32/26012_2.png) [@GiuseppeShipit](https://community.hubspot.com/u/GiuseppeShipit)\
**Post date:** [July 11, 2019, 5:59pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/11 "2019-07-11T17:59:26Z")

</div>

We really need this too, we have 2k+ contacts with several email addresses pending to be updated.

---

<div class="post-metadata">

**Author:** ![beuner](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/beuner/32/9140_2.png) [@beuner](https://community.hubspot.com/u/beuner)\
**Post date:** [July 31, 2019, 8:14pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/12 "2019-07-31T20:14:04Z")

</div>

Formerly, we had cookies turned on for our forms. But that meant that if a mailing list subscriber forwarded one of our emails to another person--and that person filled out a form on our site to sign up for the mailing list… then that new person’s email address becomes associated with the original subscriber’s contact record.

While we wait for a solution, we have had to turn off cookies for all of our forms (so no longer benefiting from any analytics, tracking, form fills, or otherwise) and have to manually sift through 1,000’s of records to remove inaccurately associated secondary addresses--as we cannot create new, unique records for those addresses until they’ve been removed from their currently associated accounts. And while we work on this, the new contacts are not receiving our communications, which is hurting our reach and impact.

Please prioritize this--either via the API or through the import process within the app itself. See [https://community.hubspot.com/t5/APIs-Integrations/Is-there-a-way-to-delete-secondary-email-address-via-API/m-p/221562](https://community.hubspot.com/t5/APIs-Integrations/Is-there-a-way-to-delete-secondary-email-address-via-API/m-p/221562) for a similar request.

---

<div class="post-metadata">

**Author:** ![bkirkland](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/bkirkland/32/93181_2.png) [@bkirkland](https://community.hubspot.com/u/bkirkland)\
**Post date:** [July 14, 2020, 12:17am UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/13 "2020-07-14T00:17:44Z")

</div>

I’m currently working on integrating our membership site, which has multiple email addresses for users, with HubSpot to sync contact details. Really disappointing that I can’t add those email addresses through the API when that feature is available in the frontend.

---

<div class="post-metadata">

**Author:** ![OLM](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/olm/32/68963_2.png) [@OLM](https://community.hubspot.com/u/OLM)\
**Post date:** [April 26, 2021, 6:18am UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/14 "2021-04-26T06:18:47Z")

</div>

The lack of this feature may sink our attempt to migrate to HubSpot. Why management doesn’t prioritize issues that make it hard (or impossible) for companies to migrate to HubSpot I just don’t understand.

---

<div class="post-metadata">

**Author:** ![rgilham](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/rgilham/32/22074_2.png) [@rgilham](https://community.hubspot.com/u/rgilham)\
**Post date:** [June 29, 2021, 9:46pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/15 "2021-06-29T21:46:51Z")

</div>

We’re in a similar situation as bkirkland, We’re trying to sync our user database with hubspot however some of our users have multiple accounts on our end, each with their own email, which are all in a single hubspot contact with multiple email addresses.  
As the API stands we can only sync the single user on our end with the primary email and have no way to link up those other users to the same contact.

---

<div class="post-metadata">

**Author:** ![brk21](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/brk21/32/75413_2.png) [@brk21](https://community.hubspot.com/u/brk21)\
**Post date:** [July 20, 2022, 3:35pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/16 "2022-07-20T15:35:41Z")

</div>

This is absolutely critical for a process we’re attempting to automate. It’s really amazing that this doesn’t exist.

---

<div class="post-metadata">

**Author:** ![CBN](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/cbn/32/95196_2.png) [@CBN](https://community.hubspot.com/u/CBN)\
**Post date:** [September 12, 2022, 9:11pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/17 "2022-09-12T21:11:45Z")

</div>

Don’t hold your breath @brk21

---

<div class="post-metadata">

**Author:** ![CBN](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/cbn/32/95196_2.png) [@CBN](https://community.hubspot.com/u/CBN)\
**Post date:** [September 12, 2022, 9:22pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/18 "2022-09-12T21:22:11Z")

</div>

Here’s how to implement this in C#

`var contactByEmail = new RestClient($"https://api.hubapi.com/crm/v3/objects/contacts/{email}/?idProperty=email&hapikey={GetApiKey()}");var contactRequest = new RestRequest(Method.GET);contactRequest.AddHeader("accept", "application/json");var contactResponse = contactByEmail.Execute(contactRequest);`

---

<div class="post-metadata">

**Author:** ![RKatz](https://avatars.discourse-cdn.com/v4/letter/r/e9c0ed/32.png) [@RKatz](https://community.hubspot.com/u/RKatz)\
**Post date:** [September 14, 2022, 3:48pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/19 "2022-09-14T15:48:24Z")

</div>

Hi All,

I had to code around this solution myself, so I thought I would share the way I did so:

> <https://gist.github.com/brk21/76aa122badba54aa0349911a0b521511>

Basically, the gist above provides Python functions for “Add secondary email to contact” and “Delete secondary email from contact” and “Update primary email on contact”.

If you have feedback or questions, please feel free to ping me on [Linkedin](https://www.linkedin.com/in/b-ross-katz/) or by [email](mailto:ross.katz@corrdyn.com).

Ross

---

<div class="post-metadata">

**Author:** ![tomas1](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/tomas1/32/61905_2.png) [@tomas1](https://community.hubspot.com/u/tomas1)\
**Post date:** [September 29, 2022, 1:12pm UTC](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611/20 "2022-09-29T13:12:47Z")

</div>

here is a Ruby/Rails solution [Hubspot CRM API Delete a secondary email address · GitHub](https://gist.github.com/equivalent/9e3174a471b138401b420bff506ac09e)

Only dependancy is HTTParty (no hubspot gem)

Uses hubspot v1 API endpoint “[https://api.hubapi.com/contacts/v1/secondary-email/](https://api.hubapi.com/contacts/v1/secondary-email/)…” with “private apps token” (meaning it will work after Nov 2022)

[Next page](https://community.hubspot.com/t/add-edit-remove-non-primary-emails-from-contact-api/7611.md?page=2)
