Groups data model

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

FieldTypeRequiredDescription
idstringNoThe group's unique id
externalIdstringNoA groups id in an external system
displayNamestringYesThe group's display name
groupTypestringNoOrganization [NOT STANDARD]
membersScimGroupMember[]NoAn array of members
members[].valuestringYesID of user
members[].$refstringNourl to user
members[].displaystringNouser name
members[].typeenumNoNOT STANDARD Values: User, Group
members[].operationenumNoONLY USED ON UPDATES Values: add, delete
schemasenumNoArray of schema URIs Values: urn:ietf:params:scim:schemas:core:2.0:Group

TypeScript

TypeScript
export type ScimGroup = {
	id?: string; // The group's unique id
	externalId?: string; // A groups id in an external system
	displayName: string; // The group's display name
	groupType?: string; // Organization [NOT STANDARD]
	members?: []; // An array of members
	meta?: {
		resourceType?: 'User' | 'Group'; 
		created?: string; 
		lastModified?: string; 
		location?: string; 
		version?: string; 
	};
	schemas?: ( 'urn:ietf:params:scim:schemas:core:2.0:Group' )[]; // Array of schema URIs
} 

Zod

Zod
import { z } from 'zod';

export const ZodScimGroup = z.object({
	id: z.string().optional().describe("The group's unique id"),
	externalId: z.string().optional().describe("A groups id in an external system"),
	displayName: z.string().describe("The group's display name"),
	groupType: z.string().optional().describe("Organization [NOT STANDARD]"),
	members: z.array().optional().describe("An array of members"),
	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(),
	schemas: z( 'urn:ietf:params:scim:schemas:core:2.0:Group' ).optional().describe("Array of schema URIs")
});

Python

Python
import dataclasses

@dataclasses.dataclass
class ScimGroupSchemas(str, Enum):
	urn:ietf:params:scim:schemas:core:2.0:Group = 'urn:ietf:params:scim:schemas:core:2.0:Group'

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

@dataclasses.dataclass
class PropertyScimGroupMeta:
	resourceType: Optional[ScimGroupMetaResourcetype]
	created: Optional[str]
	lastModified: Optional[str]
	location: Optional[str]
	version: Optional[str]

@dataclasses.dataclass
class ScimGroup:
	"""The group's unique id"""
	id: Optional[str]
	"""A groups id in an external system"""
	externalId: Optional[str]
	"""The group's display name"""
	displayName: str
	"""Organization [NOT STANDARD]"""
	groupType: Optional[str]
	"""An array of members"""
	members: Optional[PropertyScimGroupMembers]
	meta: Optional[PropertyScimGroupMeta]
	"""Array of schema URIs"""
	schemas: Optional[List[ScimGroupSchemas]]
Are we missing anything? Let us know
Was this page helpful?