IAM Core

CoreIdentity

On this page

A CoreIdentity is a person: an employee, a student, a consultant, an agent. It holds what is true about the human being regardless of what they do — their name, their contact details, their accounts.

What a person does belongs on a CoreRelationship instead. Someone who holds two positions is one CoreIdentity with two relationships, not two identities.

Default attributes

All common attributes are available as well
TypeAttributeDescription
stringdisplayNameDisplay name
stringfirstNameFirst name
stringlastNameLast name
stringmobileWork mobile phone number
stringprivateMobilePrivate mobile phone number
stringemailWork email address
stringprivateEmailPrivate email address
stringcountryCodeCountry the person is associated with
stringninNational identity number
stringentraObjectIdThe Entra Object ID, required for any user accessing the services
stringentraUserPrincipalNameThe user principal name of the Entra ID account
stringentraOnPremisesSamAccountNameThe on-premises Active Directory sAMAccountName
stringentraOnPremisesDistinguishedNameThe on-premises Active Directory distinguished name
booleanentraOnPremisesSyncEnabledWhether the Entra ID account is synchronized from on-premises AD
reference to CoreRelationshipprimaryRelationshipThe person's main position, where they hold more than one

Primary relationship

A person with several relationships — two part-time positions, or a job alongside an elected role — has no inherent "main" one. primaryRelationship is where you record which it is, so that downstream systems have a single answer for questions like which department to show or which manager to route an approval to.

It is set with a reference attribute flow, pointing at the connector object that becomes the relationship:

PowerShell
@{
    '$type'             = "reference"
    targetAttributeName = "primaryRelationship"
    value               = @{
        '$type'             = "asreference"
        objectType          = "position"
        referencedAttribute = "id"
        input               = @{
            '$type'   = "attribute"
            attribute = "primaryPositionId"
        }
    }
}

This only works if the source system says which position is primary. Where it does not, leave the attribute unset rather than guessing.

CoreIdentity has no date or multi-valued attributes — those appear on CoreRelationship and CoreOrgUnit.

The Entra attributes

The entra* attributes are not something an HR system provides. They are filled in by an Entra ID inbound connector that joins to an identity another connector already created.

entraObjectId matters most: it is the link between a signed-in session and the CoreIdentity, so a person cannot use most Identity Universe features until it is populated.

Identifying a person

nin and the anchors are what sync rules normally join on, since they are stable identifiers that survive a change of name or position. A common pattern is to join on the source system's own id first and fall back to the national identity number, so that a person known to two HR systems still becomes one identity — see join priority.

Last updated 3 November 2026 Edit this page on GitHub
Esc