Skip to main content
Contributor I
September 28, 2026
Question

how do I get Unsuppress Profiles API to work consistently?

I’ve been using the bulk job described here:

https://developers.klaviyo.com/en/v2024-05-15/reference/unsuppress_profiles

However, I have to run it multiple time before it actually works.  I thought I had to wait longer for it to take affect in my account but even after days, the profile is still suppressed.

Here’s an example…

Request:

{"data":{"type":"profile-suppression-bulk-delete-job","attributes":{"profiles":{"data":[{"type":"profile","attributes":{"email":"??????@yahoo.com"}}]}}}}

Response:

{"data":{"type":"profile-suppression-bulk-delete-job","id":"AKJDKSLIEOLADHKDLFKASHSK","attributes":{"status":"processing","created_at":"2026-09-28T16:25:32.834205+00:00","total_count":0,"completed_count":0,"completed_at":"2026-09-28T16:25:32.836846+00:00","skipped_count":0},"relationships":{"lists":{"links":{"self":"https://a.klaviyo.com/api/profile-suppression-bulk-delete-jobs/AKJDKSLIEOLADHKDLFKASHSK/relationships/lists/","related":"https://a.klaviyo.com/api/profile-suppression-bulk-delete-jobs/AKJDKSLIEOLADHKDLFKASHSK/lists/"}},"segments":{"links":{"self":"https://a.klaviyo.com/api/profile-suppression-bulk-delete-jobs/AKJDKSLIEOLADHKDLFKASHSK/relationships/segments/","related":"https://a.klaviyo.com/api/profile-suppression-bulk-delete-jobs/AKJDKSLIEOLADHKDLFKASHSK/segments/"}}},"links":{"self":"https://a.klaviyo.com/api/profile-suppression-bulk-delete-jobs/AKJDKSLIEOLADHKDLFKASHSK/"}},"links":{"self":"https://a.klaviyo.com/api/profile-suppression-bulk-delete-jobs/"}}

3 replies

Community Manager
October 5, 2026

Hi Brian, 

Happy to jump in and answer this for you! 

Your formatting looks correct from what I can see- example:

{
"data": {
"type": "profile-suppression-bulk-delete-job",
"attributes": {
"profiles": {
"data": [
{
"type": "profile",
"attributes": {
"email": "example@klaviyo-demo.com"
}
}
]
}
}
}
}
'

The issue is the job response/processing, not the JSON syntax.

Key indicators:

  • The job returns status: "processing" but also sets completed_at almost immediately.
  • total_count, completed_count, and skipped_count are all 0, meaning the job did not register the profile as processed.
  • It sounds like your team is treating the initial POST response as confirmation that the profile was unsuppressed. This endpoint is asynchronous; you must poll the returned job URL until processing completes. Bulk jobs can experience delays between acceptance and actual processing.
  • Unsuppression only removes eligible non-deliverability/manual suppressions. It will not remove hard-bounce or invalid-email suppressions.
  • A possible contributing factor is repeated one-profile requests. Klaviyo has documented system strain from accounts creating many single-profile suppression jobs; batching profiles is the recommended pattern.


So the likely issue is either an asynchronous processing incident/backlog or the profile has a suppression reason that this endpoint cannot remove. The next diagnostic step is to retrieve the job status and inspect the profile’s exact suppression reason.

 

bpgravesAuthor
Contributor I
October 5, 2026

My problem was in the UI as well.  For some reason the UI gives the option to Unsuppress but most of the profiles result in error like this when trying to unsuppress manually:  

 

Community Manager
October 9, 2026

Hi Brian, 
Thank you for letting us know! I am going to follow up with you in a direct message on this concern to determine the behavior, resolution, and gather more relevant details to take a look at this!