Cannot add same email id to another list using API

Regular Participant

Cannot add same email id to another list using API


Is it possible to add an email id into multiple lists using API. Right now, when I add an already added email id into a different list, its not updating. If the same email id is deleted and added again through API, it doesnt get updated either.

Seems like a single email id can be entered once only, even if its deleted cannot be listed again using the API. What can I do ?


Hi Shameer,

Yes, you can add an email address into multiple lists using the API.

I suspect the issue is that you are trying to do a POST for a contact that already exists. When you are adding a contact for the first time, you should perform a POST.  However, when you are updating a contact (when the contact already exists in your account), you need to perform a PUT.

So, I recommend first checking if the contact already exists.  If it does, update it via a PUT.  If it doesn't, add it via a POST.  Keep in mind that when updating and doing a PUT, it will remove the contact from whatever list(s) they are on and only add them to the list(s) that are specified in the PUT statement.

I hope this helps!

Matt R.
Support Engineer, Constant Contact
Regular Participant

Thanks Matt, hope this will resolve the problem..  :)

Regular Participant

Since this thread is from 2011 I just want to make sure that this is still true and that I understand what it is saying.

If I upload a client name and email to list  number 1 and then try to upload the same client name and email to list number 2 it will not just automatically just tack the person as being in list number 2 as well as list number 1?


Is this only with the individual email uploads or with the builk upload that gets done?


Since my integration will allow my clients to upload the email addresses out of my database based on specifications like they have an appointment on thursday so email them today but then on thursday upload again to a firday list since they need to be sent an email on friday with a thank you email.


You see what I was planing to do is on wensday an upload gets done to a list called "Thursday" and then at the end of Thursday the people who came in on Thursday gets uploaded to a new list called "Friday" 


What your saying that they will not show up in the firday list since they already in the "Thursday" list?


This is only for the single contact API endpoints.  The bulk endoints, which are processed async as a batch job due to how long they take, do update existing contacts as well as create new contacts. 

Dave Berard
Senior Product Manager, Constant Contact
Regular Participant

Thank you.

That brings up another question. So is it ok for me to use the builk uploades instead of the single contact api's?


Example: If I have 10 people that need updated (no new at this point) will I be able to use the builk endpoints?



Or do I have to use the single contact api and do the whole: check they are there get there id and lists they are in, then do the Put with all there lists they are in?

The clarification we like to present to developers is: what is the expected user behavior.  Here is the nutshell version:


Single Contact API - used for any integration that is intended to only ever be used for one contact at a time.  This would be tasks such as signup forms, checkout pages on eCommerce sites, updating a single record in a CRM and sycning it to Constant Contact, anything that needs to be a real-time update with real-time feedback.


Bulk Contact API - used for any integration that has the expectation that regularly multiple contacts will need to be created or updated at a time.  This would be tasks such as querying a database for a set of contacts to add to a list, syncing multiple records from a database, should not be used for real-time updates as the batch processing is not guaranteed to be short, it depends on overall demand of the system.

Dave Berard
Senior Product Manager, Constant Contact
Regular Participant

Thank you.

The reason I'm asking is that, the link below, says you must use the bulk if 25 or more transactions at a time and my take is less than 25 you must use the single api.


You see I have no way of knowing at design time if the person will be uploading less than 25 or more than 25 at a time because of the diffrent selection criteria we allow our customers to choose. I just wanted to make sure that I do not break any of the restrictions and also to keep my integration as simple as possible.


So just one final question as to how I want to apporach this. So that my integration it's as simple as possible. I would like to use the builk contact api regardless of how many contacts to be uploaded since the batch processing and having my user wait is not an issue. This will cut out any of the extra work on my part and also any extra usage charges to my account for the use of the api calls needed, since I'm only allowed 5,000 times a day to access constant contact. I have no way of knowing how many of my users will be uploading less than 25 or more than 25 at a time because of the multitude ot selections I give them to filter client information on their end and don't want to have extra coding if I don't need it.

So since this link says bulk is ment for 25 or more people at a time is that still in effect (the page is from 2011)? where it says "The Activities resource is designed to be used only with large sets  of contacts (ie. 25 or more). "

The text there is very unforgiving, I agree.  However, we understand that it isn't reasonable for develoeprs to code for edge cases in their development based on user behavior.  To keep it simple, if you're allowing a user to filter out contacts from a database and the general expectation is that there will be multiple contacts, use the bulk API.  We understand that sometimes the filter will only find a single Contact and that sometimes the "bulk" import will be an import of one.  That is within our T&C for the API usage. 


What we do not allow and monitor for is that the bulk API is being used to power signup forms or other single contact only integrations (see examples above).  If we notice that behavior, we generally disable the API key and contact the developer of the integration to make sure that they understand the limits of the API. 


Lastly, I would recommend looking at our v2 API as the v1 API has been deprecated and we are no longer supporting it going forward outside of bug fixes for feature breaking items.  Our new API is found here:

Dave Berard
Senior Product Manager, Constant Contact

Developer Portal

View API documentation, code samples, get your API key.

Visit Page