Doube opt-in, Email Confirmation Status and API


Since I’m using HubSpot in Germany, activating the double opt-in feature is a must.

But we will collect and document the double opt-in outside of HubSpot most of the times. This means that after collecting a doube opt-in in an external system, the new contact should be synced over to HubSpot via the API. According to this article and this article the contact property “Email Confirmation Status” is set to “Customer marked confirmed” if a contact is imported (via CSV file) in case a valid doube opt-in was collected outside of HubSpot.

Now my question is: Can this also be achieved when creating a new contact via the API? Can I just set the contact property “Email Confirmation Status” to “Customer marked confirmed” as part of the API call which is used to create the new contact? Or is it not possible to directly set the “Email Confirmation Status” property? I couldn’t find anything about this in the developer docs.

How to send Hubspot Double opt-in emails using REST API?
How to send double opt-in email using REST APIs?

Hi @MichaelvanLaar,

Contacts created via the API cannot be automatically marked ‘Customer marked confirmed’. When importing via CSV, we confirm (via checkboxes & initials) that the contacts were appropriately opted in. There is not equivalent when using the contacts API, so we prevent contacts from being opted in.


Hello everyone,

I was wondering if anything changed with the API recently? We currently have the same issue with the opt-in from another system, so if we want to send emails via Hubspot, we have to manually import the contacts and set them to "opted in". I talked to a Hubspot developer couple of months ago and I was told that this would be changed, and that the API would allow setting the value of property hs_emailconfirmationstatus, since it is bothering many customers (because of the GDPR).
Or is there any other way of setting the opt-in field?

Thank you for your help.


Hi @ipranjic,

You can subscribe contacts who have opted into specific email types using the Email API:


Hi @Derek_Gervais,
Thank you for your response.
Seems that this would not help in our case. If I understood correctly, each e-mail campaign would have a different id, so we would have to subscribe our contacts to each one? Is there some global opt-in possible?
What we want is to have the exactly same setup, as if the users opted in through Hubspot.

Best regards,


Hi @ipranjic,

Subscription types aren't campaign specific; there are as many subscription types as there are email types (see below). There is no global opt-in option; to opt an email address into a number of email types, you'll need to collect consent and pass opt-in information for each subscription type.


Hi @Derek_Gervais,

Thank you for your answer. So each email/subscription type can have multiple email campaigns.
How are subscriptions related to the property "Email Confirmation Status"? Because that is a single, global field, and subscriptions can be many, so one account can be opted-in/subscribed to one type, and opted out of another type.
I talked to a HS developer couple of months ago, and was told that in the future, there will be an option to set the value of the email confirmation status via the Api (currently it's done manually via import).

Best regards,
Ivana Pranjic


Hi @ipranjic,

You're correct: There can be a number of subscription types, while there is only one 'Email Confirmation Status' property. While you can use the Email API to manage contact's subscriptions, it's not currently possible to manage their double opt in status via the API. I'm not currently aware of work being done to enable this functionality through the API, but I can totally see the use case for it and I wouldn't be surprised to see it on a roadmap. If you have the inclination, I would encourage you to check out the Ideas Forum on the HubSpot Community. There, you can create a post including your use case that product and other customers can see.


Hi @Derek_Gervais,

We tried out the solution you suggested - to subscribe our contacts to the email types we want them to receive. However, the emails are not being sent, since the contacts didn't do the opt-in via Hubspot (as I mentioned earlier, our opt-in is in another system, Emarsys, and we sync contacts to HS only after they finish the existing opt-in process). So it seems that we cannot automate this and instead we still need to manually import the new contacts and set their status to confirmed on a daily basis. Also in that case, our new customers receive their emails on the next day, instead of right away, which is also not very good, since the email contains important information about our product.
Is there any possibility of sending emails to contacts without them doing the HS opt-in?

Thank you for your time, kind regards,

Ivana Pranjic