This endpoint is used to track and update properties about an individual without tracking an associated event. The following data is stored in a JSON object.
JSON OBJECT STRUCTURE:
token: string
This is your public API key.
properties: JSON Object or null
Properties of the profile to track/update. You must identify the person by their email using a $email key (or by their phone number using a $phone_number
key if you have SMS-only contacts). Other than that, you can include any data you want and it can then be used to create segments of people. For example, if you wanted to create a list of people on trial plans, include a person's plan type in this JSON object so you can use that information later.
SPECIAL FIELDS:
The Klaviyo CRM has the following special fields you can set for customer properties with the Identify endpoint, to unlock additional functionality:
$email: string
$first_name: string
$last_name: string
$phone_number: string; eg: "+13239169023"
$city: string
$region: string; state, or other region
$country: string
$zip: string
$image: string; url to a photo of a person
$consent: list of strings; eg: ['sms', 'email', 'web', 'directmail', 'mobile']
EXAMPLE:
{
"token": "PUBLIC_KEY",
"properties": {
"$email": "[email protected]",
"$first_name": "Abraham",
"$last_name": "Lincoln",
"$city": "Springfield",
"$region": "Illinois"
}
}
Temporary fix for generated cURL requests on this page
Our engine that we use to generate example cURL requests on this page is currently using --data instead of --data-urlencode
If you experience any difficulties sending cURL requests, changing the data flag will resolve it.
Note: This issue is specific to just cURL requests (all other languages are functioning correctly), and just this page (our Postman Collection and OpenAPI spec, see API Overview, are up-to-date). We are actively working on a fix for this.