curl --request POST \
--url https://api.zeotap.com/cdp/v1/users \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--header 'scopes: <scopes>' \
--data '
{
"orgId": 1234,
"region": "EU",
"ucid": "d7a6bc75-2c87-4650-91dc-c212771866c9",
"ids": {
"email_sha256_lowercase": "0a0601cfc9d014580fcf0b0"
},
"upsert": {
"profile": {
"user_gender": "M"
},
"mkt_preferences": {
"telemarketing": "market",
"sms_optin": "yes"
},
"consent": {
"gdpr_advertising": "yes"
}
}
}
'[
{
"updated_ts": 123,
"created_ts": 123,
"profile": {},
"ids": {
"email": [
{
"email_sha256_lowercase": "af2bdbe...",
"_ts": "1639918545133"
}
],
"icoms_account_uid": [
{
"icoms_account_uid": "41063074106",
"_ts": "1639918545133"
}
],
"linkedUcid": [
"a1a62720-8788-8788-8788-fb81f77515b1"
]
},
"mkt_preferences": {},
"consent": {},
"region": "UK",
"ucid": "00000000-9295-9295-9295-8db6a1c8e06a"
}
]Write user profile data
Upserts user profile data into the CDP. Requires either an API key or an Okta JWT bearer token.
curl --request POST \
--url https://api.zeotap.com/cdp/v1/users \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--header 'scopes: <scopes>' \
--data '
{
"orgId": 1234,
"region": "EU",
"ucid": "d7a6bc75-2c87-4650-91dc-c212771866c9",
"ids": {
"email_sha256_lowercase": "0a0601cfc9d014580fcf0b0"
},
"upsert": {
"profile": {
"user_gender": "M"
},
"mkt_preferences": {
"telemarketing": "market",
"sms_optin": "yes"
},
"consent": {
"gdpr_advertising": "yes"
}
}
}
'[
{
"updated_ts": 123,
"created_ts": 123,
"profile": {},
"ids": {
"email": [
{
"email_sha256_lowercase": "af2bdbe...",
"_ts": "1639918545133"
}
],
"icoms_account_uid": [
{
"icoms_account_uid": "41063074106",
"_ts": "1639918545133"
}
],
"linkedUcid": [
"a1a62720-8788-8788-8788-fb81f77515b1"
]
},
"mkt_preferences": {},
"consent": {},
"region": "UK",
"ucid": "00000000-9295-9295-9295-8db6a1c8e06a"
}
]Authorizations
Long-lasting client key
Headers
Comma-separated list of granted scopes.
Allowed values: profile.read, profile.write, profile.delete
"profile.read,profile.write,profile.delete"
Zeotap organisation ID. Required when using Okta JWT authentication.
1577
Body
Organisation identifier
1234
Region code to scope the write
"EU"
Map of identifier type to a single identifier value
(e.g. email_sha256_lowercase, AdId).
Show child attributes
Show child attributes
{
"email_sha256_lowercase": "0a0601cfc9d014580fcf0b0"
}Profile data to upsert
Show child attributes
Show child attributes
Unified Customer ID (optional; used to target a specific profile)
"d7a6bc75-2c87-4650-91dc-c212771866c9"
Response
Profile written successfully
Last-updated epoch timestamp (ms)
Created epoch timestamp (ms)
Nested profile attributes organised by category (e.g. Audience, demographics). Structure varies by org config.
Map of identity namespaces to arrays of identity records.
Each namespace (e.g. email, cellphone, ga_clientid)
contains an array of identity objects with a timestamp.
Show child attributes
Show child attributes
{
"email": [
{
"email_sha256_lowercase": "af2bdbe...",
"_ts": "1639918545133"
}
],
"icoms_account_uid": [
{
"icoms_account_uid": "41063074106",
"_ts": "1639918545133"
}
],
"linkedUcid": ["a1a62720-8788-8788-8788-fb81f77515b1"]
}Marketing opt-in / opt-out preferences
Show child attributes
Show child attributes
Consent records
Region the profile belongs to
"UK"
Unified Customer ID
"00000000-9295-9295-9295-8db6a1c8e06a"
Was this page helpful?