Users data model

Updated:

FieldTypeRequiredDescription
idstringNo
schemasenumNoValues: urn:ietf:params:scim:schemas:core:2.0:User, urn:ietf:params:scim:schemas:extension:enterprise:2.0:User, urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User, urn:ietf:params:scim:schemas:extension:peakon:2.0:User
externalIdstringNo
userTypestringNo'Employee','Super Admin', 'General Admin', 'Account Manager', 'User Manager', 'Workflow Manager', 'Experience Manager', 'Author','Reporter','Contractor,'Intern','Temp','External','Unknown']
userNamestringNo
nameobjectNo
name.formattedstringNo
name.familyNamestringNo
name.givenNamestringNo
name.middleNamestringNo
name.honorificPrefixstringNo
name.honorificSuffixstringNo
displayNamestringNo
nickNamestringNo
profileUrlstringNo
titlestringNo
preferredLanguagestringNo
localestringNo
timezonestringNo
activebooleanNo
passwordstringNo
phoneNumbersScimPhoneNumber[]No
phoneNumbers[].typeenumNoValues: work, home, other, mobile, fax, pager
phoneNumbers[].valuestringNo
phoneNumbers[].displaystringNo
phoneNumbers[].primarybooleanNo
emailsScimEmail[]No
emails[].typeenumYesValues: work, home, other
emails[].valuestringNo
emails[].primarybooleanNo
emails[].displaystringNo
imsScimIms[]No
ims[].typeenumNoValues: aim, qtalk, icq, xmpp, msn, skype, qq, yahoo
ims[].valuestringNo
ims[].displaystringNo
ims[].primarybooleanNo
photosScimPhoto[]No
photos[].valuestringNoURL
photos[].displaystringNo
photos[].typeenumNoValues: photo, thumbnail
photos[].primarybooleanNo
addressesScimAddress[]No
addresses[].formattedstringNo
addresses[].streetAddressstringNocould be multi-line
addresses[].localitystringNocity
addresses[].regionstringNostateprovince
addresses[].postalCodestringNo
addresses[].countrystringNo
addresses[].typeenumNoValues: work, home, other
groupsScimUserGroups[]No
groups[].valuestringYesID
groups[].$refstringNo
groups[].displaystringNo
groups[].typeenumNoValues: direct, indirect
entitlementsScimEntitlement[]No
entitlements[].valuestringYes
entitlements[].displaystringNo
entitlements[].typestringNo
entitlements[].primarybooleanNo
rolesScimRole[]NoStudent, Faculty, ...
roles[].valuestringYesvalue of the role
roles[].displaystringNo
roles[].typestringNo
roles[].primarybooleanNo
x509CertificatesScimRole[]No
x509Certificates[].valuestringYesvalue of the role
x509Certificates[].displaystringNo
x509Certificates[].typestringNo
x509Certificates[].primarybooleanNo
urn:ietf:params:scim:schemas:extension:enterprise:2.0:UserobjectNoan organization.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.employeeNumberstringNo
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.costCenterstringNoIdentifies the name of a cost center.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.organizationstringNoIdentifies the name of an organization.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.divisionstringNoIdentifies the name of a division.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.departmentstringNoIdentifies the name of a department.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.managerScimUser_urn_ietf_params_scim_schemas_extension_enterprise_2_0_User_managerNo"id" attribute of another User.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager.valuestringNoThe "id" of the SCIM resource representing the user's manager. RECOMMENDED.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager.managerIdstringNoalias for value?
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager.$refstringNoThe URI of the SCIM resource representing the User's manager. RECOMMENDED.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager.displayNamestringNoThe displayName of the user's manager. This attribute is OPTIONAL, and mutability is "readOnly".
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager.typeenumNoValues: direct, indirect
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.additionalManagersScimManager[]No
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.additionalManagers[].valuestringNoThe "id" of the SCIM resource representing the user's manager. RECOMMENDED.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.additionalManagers[].managerIdstringNoalias for value?
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.additionalManagers[].$refstringNoThe URI of the SCIM resource representing the User's manager. RECOMMENDED.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.additionalManagers[].displayNamestringNoThe displayName of the user's manager. This attribute is OPTIONAL, and mutability is "readOnly".
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.additionalManagers[].typeenumNoValues: direct, indirect
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.levelstringNo
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.startDatestring (date-time)No2011-03-25
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.endDatestring (date-time)No2022-02-25
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.birthdaystring (date-time)No1985-07-20
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.genderenumNoValues: male, female
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.locationstringNoBerlin
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.currencystringNoUser currency
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:UserobjectNo
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User.startDatestring (date-time)No"2022-03-08",
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User.birthDatestring (date-time)No"1987-10-06",
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User.genderenumNoValues: male, female
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User.sexualOrientationenumNoValues: Queer, Heterosexual, Straight
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User.ethnicityenumNoValues: Caucasian, East Asian, Middle Eastern, Black, Biracial (South Asian & Caucasian), Filipino, South Asian, Indian, White, Asian
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User.People Manager (Reviews)stringNo'People Manager',
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User.Salary InformationstringNo'130000',
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User.Remote Work - LocationstringNo'Ontario',
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User.Job LevelstringNo'M3',
urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User.Sub DepartmentsstringNo
urn:ietf:params:scim:schemas:extension:peakon:2.0:UserobjectNo
urn:ietf:params:scim:schemas:extension:peakon:2.0:User.GenderenumNoValues: Female, Male
urn:ietf:params:scim:schemas:extension:peakon:2.0:User.TeamstringNo
urn:ietf:params:scim:schemas:extension:peakon:2.0:User.ManagerstringNo
urn:ietf:params:scim:schemas:extension:peakon:2.0:User.Date of Birthstring (date-time)No

TypeScript

TypeScript
export type ScimUser = {
	id?: string;
	schemas?: ( 'urn:ietf:params:scim:schemas:core:2.0:User' | 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User' | 'urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User' | 'urn:ietf:params:scim:schemas:extension:peakon:2.0:User' )[];
	externalId?: string;
	userType?: string; // 'Employee','Super Admin', 'General Admin', 'Account Manager', 'User Manager', 'Workflow Manager', 'Experience Manager', 'Author','Reporter','Contractor,'Intern','Temp','External','Unknown']
	userName?: string;
	meta?: {
		resourceType?: 'User' | 'Group'; 
		created?: string; 
		lastModified?: string; 
		location?: string; 
		version?: string; 
	};
	name?: {
		formatted?: string; 
		familyName?: string; 
		givenName?: string; 
		middleName?: string; 
		honorificPrefix?: string; 
		honorificSuffix?: string; 
	};
	displayName?: string;
	nickName?: string;
	profileUrl?: string;
	title?: string;
	preferredLanguage?: string;
	locale?: string;
	timezone?: string;
	active?: boolean;
	password?: string;
	phoneNumbers?: [];
	emails?: [];
	ims?: [];
	photos?: [];
	addresses?: [];
	groups?: [];
	entitlements?: [];
	roles?: []; // Student, Faculty, ...
	x509Certificates?: [];
	urn:ietf:params:scim:schemas:extension:enterprise:2.0:User?: {
		employeeNumber?: string; 
		costCenter?: string; // Identifies the name of a cost center. 
		organization?: string; // Identifies the name of an organization. 
		division?: string; // Identifies the name of a division. 
		department?: string; // Identifies the name of a department. 
		manager?: any; // "id" attribute of another User. 
		additionalManagers?: []; 
		level?: string; 
		startDate?: string-time; // 2011-03-25 
		endDate?: string-time; // 2022-02-25 
		birthday?: string-time; // 1985-07-20 
		gender?: 'male' | 'female'; 
		location?: string; // Berlin 
		currency?: string; // User currency 
	}; // an organization.
	urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User?: {
		startDate?: string-time; // "2022-03-08", 
		birthDate?: string-time; // "1987-10-06", 
		gender?: 'male' | 'female'; 
		sexualOrientation?: 'Queer' | 'Heterosexual' | 'Straight'; 
		ethnicity?: 'Caucasian' | 'East Asian' | 'Middle Eastern' | 'Black' | 'Biracial (South Asian & Caucasian)' | 'Filipino' | 'South Asian' | 'Indian' | 'White' | 'Asian'; 
		People Manager (Reviews)?: string; // 'People Manager', 
		Salary Information?: string; // '130000', 
		Remote Work - Location?: string; // 'Ontario', 
		Job Level?: string; // 'M3', 
		Sub Departments?: string; 
	};
	urn:ietf:params:scim:schemas:extension:peakon:2.0:User?: {
		Gender?: 'Female' | 'Male'; 
		Team?: string; 
		Manager?: string; 
		Date of Birth?: string-time; 
	};
} 

Zod

Zod
import { z } from 'zod';

export const ZodScimUser = z.object({
	id: z.string().optional(),
	schemas: z( 'urn:ietf:params:scim:schemas:core:2.0:User' | 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User' | 'urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User' | 'urn:ietf:params:scim:schemas:extension:peakon:2.0:User' ).optional(),
	externalId: z.string().optional(),
	userType: z.string().optional().describe("'Employee','Super Admin', 'General Admin', 'Account Manager', 'User Manager', 'Workflow Manager', 'Experience Manager', 'Author','Reporter','Contractor,'Intern','Temp','External','Unknown']"),
	userName: z.string().optional(),
	meta: z.object({
			resourceType: z.enum("User", "Group").optional(),
			created: z.string().optional(),
			lastModified: z.string().optional(),
			location: z.string().optional(),
			version: z.string().optional()
}).optional(),
	name: z.object({
			formatted: z.string().optional(),
			familyName: z.string().optional(),
			givenName: z.string().optional(),
			middleName: z.string().optional(),
			honorificPrefix: z.string().optional(),
			honorificSuffix: z.string().optional()
}).optional(),
	displayName: z.string().optional(),
	nickName: z.string().optional(),
	profileUrl: z.string().optional(),
	title: z.string().optional(),
	preferredLanguage: z.string().optional(),
	locale: z.string().optional(),
	timezone: z.string().optional(),
	active: z.boolean().optional(),
	password: z.string().optional(),
	phoneNumbers: z.array().optional(),
	emails: z.array().optional(),
	ims: z.array().optional(),
	photos: z.array().optional(),
	addresses: z.array().optional(),
	groups: z.array().optional(),
	entitlements: z.array().optional(),
	roles: z.array().optional().describe("Student, Faculty, ..."),
	x509Certificates: z.array().optional(),
	urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: z.object({
			employeeNumber: z.string().optional(),
			costCenter: z.string().optional().describe("Identifies the name of a cost center."),
			organization: z.string().optional().describe("Identifies the name of an organization."),
			division: z.string().optional().describe("Identifies the name of a division."),
			department: z.string().optional().describe("Identifies the name of a department."),
			manager: z.unknown().optional().describe(""id" attribute of another User."),
			additionalManagers: z.array().optional(),
			level: z.string().optional(),
			startDate: z.string-time().optional().describe("2011-03-25"),
			endDate: z.string-time().optional().describe("2022-02-25"),
			birthday: z.string-time().optional().describe("1985-07-20"),
			gender: z.enum("male", "female").optional(),
			location: z.string().optional().describe("Berlin"),
			currency: z.string().optional().describe("User currency")
}).optional().describe("an organization."),
	urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User: z.object({
			startDate: z.string-time().optional().describe(""2022-03-08","),
			birthDate: z.string-time().optional().describe(""1987-10-06","),
			gender: z.enum("male", "female").optional(),
			sexualOrientation: z.enum("Queer", "Heterosexual", "Straight").optional(),
			ethnicity: z.enum("Caucasian", "East Asian", "Middle Eastern", "Black", "Biracial (South Asian & Caucasian)", "Filipino", "South Asian", "Indian", "White", "Asian").optional(),
			People Manager (Reviews): z.string().optional().describe("'People Manager',"),
			Salary Information: z.string().optional().describe("'130000',"),
			Remote Work - Location: z.string().optional().describe("'Ontario',"),
			Job Level: z.string().optional().describe("'M3',"),
			Sub Departments: z.string().optional()
}).optional(),
	urn:ietf:params:scim:schemas:extension:peakon:2.0:User: z.object({
			Gender: z.enum("Female", "Male").optional(),
			Team: z.string().optional(),
			Manager: z.string().optional(),
			Date of Birth: z.string-time().optional()
}).optional()
});

Python

Python
import dataclasses

@dataclasses.dataclass
class ScimUserSchemas(str, Enum):
	urn:ietf:params:scim:schemas:core:2.0:User = 'urn:ietf:params:scim:schemas:core:2.0:User'
	urn:ietf:params:scim:schemas:extension:enterprise:2.0:User = 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User'
	urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User = 'urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User'
	urn:ietf:params:scim:schemas:extension:peakon:2.0:User = 'urn:ietf:params:scim:schemas:extension:peakon:2.0:User'

@dataclasses.dataclass
class ScimUserMetaResourcetype(str, Enum):
	User = 'User'
	Group = 'Group'

@dataclasses.dataclass
class PropertyScimUserMeta:
	resourceType: Optional[ScimUserMetaResourcetype]
	created: Optional[str]
	lastModified: Optional[str]
	location: Optional[str]
	version: Optional[str]

@dataclasses.dataclass
class PropertyScimUserName:
	formatted: Optional[str]
	familyName: Optional[str]
	givenName: Optional[str]
	middleName: Optional[str]
	honorificPrefix: Optional[str]
	honorificSuffix: Optional[str]

@dataclasses.dataclass
class ScimUserUrn:ietf:params:scim:schemas:extension:enterprise:2.0:userGender(str, Enum):
	male = 'male'
	female = 'female'

@dataclasses.dataclass
class PropertyScimUserUrn:ietf:params:scim:schemas:extension:enterprise:2.0:user:
	employeeNumber: Optional[str]
	"""Identifies the name of a cost center."""
	costCenter: Optional[str]
	"""Identifies the name of an organization."""
	organization: Optional[str]
	"""Identifies the name of a division."""
	division: Optional[str]
	"""Identifies the name of a department."""
	department: Optional[str]
	""""id" attribute of another User."""
	manager: Optional[PropertyScimUserManager]
	additionalManagers: Optional[PropertyScimUserAdditionalmanagers]
	level: Optional[str]
	"""2011-03-25"""
	startDate: Optional[str]
	"""2022-02-25"""
	endDate: Optional[str]
	"""1985-07-20"""
	birthday: Optional[str]
	gender: Optional[ScimUserUrn:ietf:params:scim:schemas:extension:enterprise:2.0:userGender]
	"""Berlin"""
	location: Optional[str]
	"""User currency"""
	currency: Optional[str]

@dataclasses.dataclass
class ScimUserUrn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:userGender(str, Enum):
	male = 'male'
	female = 'female'

@dataclasses.dataclass
class ScimUserUrn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:userSexualorientation(str, Enum):
	Queer = 'Queer'
	Heterosexual = 'Heterosexual'
	Straight = 'Straight'

@dataclasses.dataclass
class ScimUserUrn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:userEthnicity(str, Enum):
	Caucasian = 'Caucasian'
	East Asian = 'East Asian'
	Middle Eastern = 'Middle Eastern'
	Black = 'Black'
	Biracial (South Asian & Caucasian) = 'Biracial (South Asian & Caucasian)'
	Filipino = 'Filipino'
	South Asian = 'South Asian'
	Indian = 'Indian'
	White = 'White'
	Asian = 'Asian'

@dataclasses.dataclass
class PropertyScimUserUrn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:user:
	""""2022-03-08","""
	startDate: Optional[str]
	""""1987-10-06","""
	birthDate: Optional[str]
	gender: Optional[ScimUserUrn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:userGender]
	sexualOrientation: Optional[ScimUserUrn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:userSexualorientation]
	ethnicity: Optional[ScimUserUrn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:userEthnicity]
	"""'People Manager',"""
	People Manager (Reviews): Optional[str]
	"""'130000',"""
	Salary Information: Optional[str]
	"""'Ontario',"""
	Remote Work - Location: Optional[str]
	"""'M3',"""
	Job Level: Optional[str]
	Sub Departments: Optional[str]

@dataclasses.dataclass
class ScimUserUrn:ietf:params:scim:schemas:extension:peakon:2.0:userGender(str, Enum):
	Female = 'Female'
	Male = 'Male'

@dataclasses.dataclass
class PropertyScimUserUrn:ietf:params:scim:schemas:extension:peakon:2.0:user:
	Gender: Optional[ScimUserUrn:ietf:params:scim:schemas:extension:peakon:2.0:userGender]
	Team: Optional[str]
	Manager: Optional[str]
	Date of Birth: Optional[str]

@dataclasses.dataclass
class ScimUser:
	id: Optional[str]
	schemas: Optional[List[ScimUserSchemas]]
	externalId: Optional[str]
	"""'Employee','Super Admin', 'General Admin', 'Account Manager', 'User Manager', 'Workflow Manager', 'Experience Manager', 'Author','Reporter','Contractor,'Intern','Temp','External','Unknown']"""
	userType: Optional[str]
	userName: Optional[str]
	meta: Optional[PropertyScimUserMeta]
	name: Optional[PropertyScimUserName]
	displayName: Optional[str]
	nickName: Optional[str]
	profileUrl: Optional[str]
	title: Optional[str]
	preferredLanguage: Optional[str]
	locale: Optional[str]
	timezone: Optional[str]
	active: Optional[bool]
	password: Optional[str]
	phoneNumbers: Optional[PropertyScimUserPhonenumbers]
	emails: Optional[PropertyScimUserEmails]
	ims: Optional[PropertyScimUserIms]
	photos: Optional[PropertyScimUserPhotos]
	addresses: Optional[PropertyScimUserAddresses]
	groups: Optional[PropertyScimUserGroups]
	entitlements: Optional[PropertyScimUserEntitlements]
	"""Student, Faculty, ..."""
	roles: Optional[PropertyScimUserRoles]
	x509Certificates: Optional[PropertyScimUserX509certificates]
	"""an organization."""
	urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: Optional[PropertyScimUserUrn:ietf:params:scim:schemas:extension:enterprise:2.0:user]
	urn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:User: Optional[PropertyScimUserUrn:ietf:params:scim:schemas:extension:lattice:attributes:1.0:user]
	urn:ietf:params:scim:schemas:extension:peakon:2.0:User: Optional[PropertyScimUserUrn:ietf:params:scim:schemas:extension:peakon:2.0:user]
Are we missing anything? Let us know
Was this page helpful?