Skip to main content
Contributor I
August 28, 2026
Solved

Bulk Subscribe Profiles - email' must not be empty when the email channel is included in 'subscriptions'

  • August 28, 2026
  • 3 replies
  • 43 views

Hi Everyone,

 

Encountering an issue when trying to Bulk Subscribe profiles,  

 

Bulk subscribe failed: HTTP 400 - {"errors":[{"id":"75942db2-bdc5-414c-821b-56d76fb1a2e4","status":400,"code":"invalid","title":"Invalid input.","detail":"'email' must not be empty when the email channel is included in 'subscriptions'.","source":{"pointer":"/data/attributes/profiles/data/0/attributes/email"},"links":{},"meta":{}},

 

From the Documentation i can see that email address is not required:

The email address relating to the email subscription included in subscriptions. If the email channel is omitted from subscriptions, this will be set on the profile.

I am supplying the profile ID and hoping this would be enough.

I have tried also including the email address but then encountered problems around duplicate email.

 

could anyone point out what I'm doing wrong?

many thanks

 

 

Best answer by Temi O.

Hi there ​@tcz ! Thank you for sharing this. 

From my understanding, the error occurs because you’re requesting email consent in subscriptions.email, but the request does not include an email address for that subscription. A profile ID identifies which profile to update, but Klaviyo still needs the email address when the email channel is included in the request. The email field is optional only when email is omitted from subscriptions.

Try retrieving the profile first and passing the exact email address currently associated with that profile, along with its profile ID. Including the matching email should not create a duplicate. If you still receive a duplicate-email error, check that the email belongs to the same profile ID and that you are not passing an email associated with another profile. You can also use the email as the profile identifier instead of the profile ID if that is easier, but I understand you might require just a profile ID for your purposes.

Sharing the relevant documentation Bulk Subscribe Profiles for visibility. Hope this helps!

 


Temi@Klaviyo

3 replies

Temi O.
Community Manager
Temi O.Answer
Community Manager
August 28, 2026

Hi there ​@tcz ! Thank you for sharing this. 

From my understanding, the error occurs because you’re requesting email consent in subscriptions.email, but the request does not include an email address for that subscription. A profile ID identifies which profile to update, but Klaviyo still needs the email address when the email channel is included in the request. The email field is optional only when email is omitted from subscriptions.

Try retrieving the profile first and passing the exact email address currently associated with that profile, along with its profile ID. Including the matching email should not create a duplicate. If you still receive a duplicate-email error, check that the email belongs to the same profile ID and that you are not passing an email associated with another profile. You can also use the email as the profile identifier instead of the profile ID if that is easier, but I understand you might require just a profile ID for your purposes.

Sharing the relevant documentation Bulk Subscribe Profiles for visibility. Hope this helps!

 


Temi@Klaviyo

tczAuthor
Contributor I
September 1, 2026

Hi Temi,  thank you for the reply :)

I’ve tried again this time supplying the Email address along with the ID - example data below:

 {
            "type": "profile",
            "attributes": {
              "subscriptions": {
                "email": {
                  "marketing": {
                    "consent": "SUBSCRIBED"
                  }
                }
              },
              "email": "email@email.com"
            },
            "id": "PRETENDTHISISUNIQUEID1"
          },
 

and 

 {
            "type": "profile",
            "attributes": {
              "subscriptions": {
                "email": {
                  "marketing": {
                    "consent": "SUBSCRIBED"
                  }
                }
              },
              "email": "email@email.com"
            },
            "id": "PRETENDTHISISUNIQUEID2"
          },

 

but I'm still getting the error: 

2026-09-01 10:05:28 - Bulk subscribe failed: HTTP 400 - {"errors":[{"id":"65289307-ff77-4e87-a4c8-d20b8eb881b0","status":400,"code":"invalid","title":"Invalid input.","detail":"Duplicate email "email@email.com"  found."

 

My understanding is that the Profile ID should allow each profile to be uniquely identified, even where multiple profiles have the same email address. However, it appears that the bulk subscription endpoint does not allow the same email address to appear more than once within a single POST request.

Potentially, I could identify profiles with duplicate email addresses and submit them in separate POST requests, with each request containing only one profile for that email address. Would that work, or is there a better approach you would recommend?

Just an update - I have it working now using my method, takes a little longer to process but that will settle down after the initial bulk of profiles has been subscribed.

 

Many thanks!

 

 

 

Kim from Cadence
Partner
Partner
September 1, 2026

@tcz, that’s a good flag! I do think the endpoint is naively attempting to prevent possibly multiple conflicting states in the same request. The Klaviyo team would ideally update the API to support duplicate email addresses in the same payload to account for the multiple profiles same email situation. 

Cadence / Book a demo

Kim — Founder @ Cadence | Helping brands automate recurring campaigns (daily, weekly, monthly) | Happy to connect! | https://cadencecampaigns.com