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.

Language