Thank you for reaching out to Constant Contact API Developer Support. My team is here to assist outside software developers with questions about building into Constant Contact's API.
The primary reason that the Contact ID is used as the identifier when updating or deleting a contact rather than the email address is because it allows for the ability to update/change a contact’s email address and maintain the engagement history of the contact itself.
Please let us know if you have any other questions!
They don't have to necessarily be mutually exclusive. In order to do things like batch deletions, I need a list of contact ids. If I could send a list of emails instead, I wouldn't have to call the API to fetch all the contact ids from the system.
Thank you for reaching out to Constant Contact API Developer Support.
While the way that our system is built doesn’t allow for functionality like that at this time, here are some alternatives using the V3 API’s Bulk Activity Endpoints that may be helpful based on your use case:
You can use the the Bulk Activity Endpoint for Importing Contacts to update a group of new or existing contacts based on their email addresses, which includes the ability to add them to a list and functions similarly to uploading contacts via a file in the UI:
Bulk Activity Endpoint for Importing Contacts
When using the Bulk Activity Endpoint to Delete Contacts, you can delete a group of contacts based on being members of a specific list:
Bulk Activity Endpoint for Deleting Contacts
Please have a look and let us know if you have any other questions!