Skip to main content

Hello Developers!

We wanted to share some information regarding a critical upcoming API change that will take place on June 13th, 2022.

What’s Changing

After June 13th, our Identify API will no longer support making updates to an existing profile’s unique identifiers (email address, phone number, and external id). Going forward, to make these profile updates, you will need to utilize Klaviyo’s Profiles API, which requires using an account’s Private API Key.

Why

In order to prevent potential abuse, we will require the use of a Private API Key to update profile identifiers like email address and phone number using our Profiles API.

Action Required

If your integration with Klaviyo supports updating profile identifiers utilizing our Identify API, please modify your implementation before June 13th 2022 by migrating to Klaviyo’s server-side Profiles API. You can follow this guide to make this change: Update profile identifiers via API

If you have any questions or concerns, please comment below.

Hi there,

We recieved the email regarding the upcoming Klaviyo API change. Our team would like to confirm with Klaviyo which API are needing to be updates as we just need to inform our developers.

 

Thank you.


Hey @andreea,

I’ve opted to move your post to this topic to be more conducive to the conversation in providing further clarification for this upcoming change to our API. 

The changes that are being made will impact our Identify API as mentioned above. After June 13, making updates to an existing profile’s unique identifiers (email address, phone number, and external id) will not be supported via this (Identify) API. Instead, you’ll want to leverage the Profiles API to make changes to a profile’s identifier. 

If you haven’t already, I would suggest taking a look at the Update profile identifiers via API guide for further details on how to implement this new update.

David


Hi David, 

 

To confirm: only the PUT request/s will be removed correct?  The endpoint will still allow GET requests? 

 

Thanks,
Paul 


Hey @paulfl,

Did you happen to mean POST request/s, rather than PUT requests/s? 

This change that is coming to our Identify API is actually behavioral. This means that we are not removing the Identify API (POST or GET methods), but rather simply how it functions altogether. The upcoming change will impact the Identify API as a whole which would encompass both the POST and GET methods of the endpoint. As stated, this update will help prevent potential abuse by no longer allow support to update profile identifiers via the Identify API. 

David


Currently dealing with this, note that you can still initialize these properties

Also if you send a request with new values for ($phone, $email) you can still get a “1” (success) response. I would prefer a “0” (fail) instead of a “1” (success). 

For my use case, I never expect $id to change, but $phone and $email may change. 

According to the docs, the Identify API is designed for high throughput, but unfortunately, with the current system and my use case (syncing external contact info to Klaviyo), I am essentially unable to use the Identify API without first calling other endpoints to verify the email and phone.  

 

 


...Or just the ability to update multiple contacts at once


Hey @Trones,

Thanks for those notes and feedback! I’ll share them with our Product and Developer team! 

David


Reply