Profile data model

Updated:

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNoUnique identifier for this profile object
created_atstring (date-time)NoThe date that this profile object was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)NoThe last date that this profile object was updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
namestringNoThe full name of the profile
first_namestringNoThe first name of the profile
last_namestringNoThe last name of the profile
emailstringNoThe primary email address of the profile
telephonestringNoThe primary telephone number of the profile
genderenumNoThe gender of the profile Values: MALE, FEMALE, INTERSEX, TRANS, NON_BINARY
birthdatestringNoThe birth date of the profile
titlestringNoThe job title of the profile
companystringNoThe company/organization name of the profile
addressobjectNoThe address of the profile
address.address1stringNo
address.address2stringNo
address.citystringNo
address.regionstringNo
address.region_codestringNo
address.postal_codestringNo
address.countrystringNo
address.country_codestringNo
identifiersCdpIdentifier[]NoThe typed identifiers stitched to this profile
identifiers[].typeenumNoThe type of the identifier (eg. EMAIL, USER_ID, ANONYMOUS_ID) Values: EMAIL, USER_ID, ANONYMOUS_ID, DEVICE_ID, PHONE, CRM_ID, LOYALTY_ID, OTHER
identifiers[].valuestringYesThe identifier value that resolves to the profile
identifiers[].is_primarybooleanNoWhether this is the primary identifier for the profile
identifiers[].encodingstringNoThe encoding of the identifier value (eg. raw, sha256)
identifiers[].sourcestringNoThe source that provided this identifier
metadataCdpMetadata[]NoThe traits/attributes of the profile
metadata[].idstringNo
metadata[].slugstringNoThe attribute/trait key (eg. lifetime_value)
metadata[].valueobjectNoThe attribute/trait value
metadata[].namespacestringNoThe scope or origin of the attribute (eg. computed, event, visitor)
metadata[].formatenumNoThe data type of the attribute value Values: TEXT, NUMBER, DATE, BOOLEAN, ARRAY, OBJECT
metadata[].extra_dataobjectNo
segmentsCdpProfileSegment[]NoThe segments/audiences this profile currently belongs to
segments[].segment_idstringNoThe segment/audience this profile belongs to; points to CdpSegment
segments[].namestringNoThe name of the segment/audience
segments[].joined_atstring (date-time)NoWhen the profile joined the segment (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
segments[].expires_atstring (date-time)NoWhen the profile's membership expires (if applicable) (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
is_anonymousbooleanNoWhether the profile is anonymous (no known identity)
consentCdpConsent[]NoThe consent/privacy preferences of the profile
consent[].purposestringNoThe consent purpose or objective (eg. marketing, analytics)
consent[].statusenumNoThe consent status for this purpose Values: GRANTED, DENIED, PENDING
consent[].updated_atstring (date-time)NoWhen the consent status was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
source_idstringNoThe cdp_source this profile originated from; points to CdpSource

TypeScript

TypeScript
export type CdpProfile = {
	id?: string; // Unique identifier for this profile object
	created_at?: string-time; // The date that this profile object was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // The last date that this profile object was updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	name?: string; // The full name of the profile
	first_name?: string; // The first name of the profile
	last_name?: string; // The last name of the profile
	email?: string; // The primary email address of the profile
	telephone?: string; // The primary telephone number of the profile
	gender?: 'MALE' | 'FEMALE' | 'INTERSEX' | 'TRANS' | 'NON_BINARY'; // The gender of the profile
	birthdate?: string; // The birth date of the profile
	title?: string; // The job title of the profile
	company?: string; // The company/organization name of the profile
	address?: {
		address1?: string; 
		address2?: string; 
		city?: string; 
		region?: string; 
		region_code?: string; 
		postal_code?: string; 
		country?: string; 
		country_code?: string; 
	}; // The address of the profile
	identifiers?: []; // The typed identifiers stitched to this profile
	metadata?: []; // The traits/attributes of the profile
	segments?: []; // The segments/audiences this profile currently belongs to
	is_anonymous?: boolean; // Whether the profile is anonymous (no known identity)
	consent?: []; // The consent/privacy preferences of the profile
	source_id?: string; // The cdp_source this profile originated from; points to CdpSource
	raw?: any; // The raw data returned by the integration for this profile
} 

Zod

Zod
import { z } from 'zod';

export const ZodCdpProfile = z.object({
	id: z.string().optional().describe("Unique identifier for this profile object"),
	created_at: z.string-time().optional().describe("The date that this profile object was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("The last date that this profile object was updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	name: z.string().optional().describe("The full name of the profile"),
	first_name: z.string().optional().describe("The first name of the profile"),
	last_name: z.string().optional().describe("The last name of the profile"),
	email: z.string().optional().describe("The primary email address of the profile"),
	telephone: z.string().optional().describe("The primary telephone number of the profile"),
	gender: z.enum("MALE", "FEMALE", "INTERSEX", "TRANS", "NON_BINARY").optional().describe("The gender of the profile"),
	birthdate: z.string().optional().describe("The birth date of the profile"),
	title: z.string().optional().describe("The job title of the profile"),
	company: z.string().optional().describe("The company/organization name of the profile"),
	address: z.object({
			address1: z.string().optional(),
			address2: z.string().optional(),
			city: z.string().optional(),
			region: z.string().optional(),
			region_code: z.string().optional(),
			postal_code: z.string().optional(),
			country: z.string().optional(),
			country_code: z.string().optional()
}).optional().describe("The address of the profile"),
	identifiers: z.array().optional().describe("The typed identifiers stitched to this profile"),
	metadata: z.array().optional().describe("The traits/attributes of the profile"),
	segments: z.array().optional().describe("The segments/audiences this profile currently belongs to"),
	is_anonymous: z.boolean().optional().describe("Whether the profile is anonymous (no known identity)"),
	consent: z.array().optional().describe("The consent/privacy preferences of the profile"),
	source_id: z.string().optional().describe("The cdp_source this profile originated from; points to CdpSource"),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class CdpProfileGender(str, Enum):
	MALE = 'MALE'
	FEMALE = 'FEMALE'
	INTERSEX = 'INTERSEX'
	TRANS = 'TRANS'
	NON_BINARY = 'NON_BINARY'

@dataclasses.dataclass
class PropertyCdpProfileAddress:
	address1: Optional[str]
	address2: Optional[str]
	city: Optional[str]
	region: Optional[str]
	region_code: Optional[str]
	postal_code: Optional[str]
	country: Optional[str]
	country_code: Optional[str]

@dataclasses.dataclass
class CdpProfile:
	"""Unique identifier for this profile object"""
	id: Optional[str]
	"""The date that this profile object was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""The last date that this profile object was updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""The full name of the profile"""
	name: Optional[str]
	"""The first name of the profile"""
	first_name: Optional[str]
	"""The last name of the profile"""
	last_name: Optional[str]
	"""The primary email address of the profile"""
	email: Optional[str]
	"""The primary telephone number of the profile"""
	telephone: Optional[str]
	"""The gender of the profile"""
	gender: Optional[CdpProfileGender]
	"""The birth date of the profile"""
	birthdate: Optional[str]
	"""The job title of the profile"""
	title: Optional[str]
	"""The company/organization name of the profile"""
	company: Optional[str]
	"""The address of the profile"""
	address: Optional[PropertyCdpProfileAddress]
	"""The typed identifiers stitched to this profile"""
	identifiers: Optional[PropertyCdpProfileIdentifiers]
	"""The traits/attributes of the profile"""
	metadata: Optional[PropertyCdpProfileMetadata]
	"""The segments/audiences this profile currently belongs to"""
	segments: Optional[PropertyCdpProfileSegments]
	"""Whether the profile is anonymous (no known identity)"""
	is_anonymous: Optional[bool]
	"""The consent/privacy preferences of the profile"""
	consent: Optional[PropertyCdpProfileConsent]
	"""The cdp_source this profile originated from; points to CdpSource"""
	source_id: Optional[str]
Are we missing anything? Let us know
Was this page helpful?