We have had integration with Klaviyo for several years now but recently we have found an issue with the `api/events` API.
In your documentation it says that “Klaviyo only tracks events when a user is identified”: https://developers.klaviyo.com/en/docs/javascript_api#track-events-and-actions. I am reading it that only after creation of a user their events will be tracked. However using the '2023-02-22' API and sending POST requests to `https://a.klaviyo.com/api/events` new users are created. Is there a way that we can enhance existing Klaviyo users with events without creating new users?
I have also now checked that even with private key with access only to events and not to profiles I am able to create profiles via events
Using api/track without creating new profiles

Best answer by Brian Turcotte
Hi
My apologies, I believe I understand your use case better now. I think the main point to clarify here is that the new V3 Create Event API is not a replacement for the Javascript track API you linked.
The Create Event API is a server-side endpoint that requires a private API key, which is why it has the permissions to update profiles. Although it has the capability to “track” events for profiles, it is not intended for the same use as the Javascript track API.
The Javascript API performs two functions, identifying (or cookie-ing), and tracking (transmitting events to Klaviyo for cookied profiles). There is another client-side endpoint that posts events with public key permissions called Create Client Event, but if you use this endpoint with an email/identifier that doesn’t exist, a new profile is created.
Therefore, this isn’t a behavior change between API revisions, but rather just the difference between two different API endpoints. Also, there is a later revision of our APIs than 2023-02-22, which is 2023-07-15. You can see the latest revision by opening the dropdown menu at the top left of our Developer portal:

I hope this helps to clarify!
Best,
Brian
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.