> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SuperOffice.WebApi.Data.SoPrincipalCarrier

# <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier" /> Class SoPrincipalCarrier

Namespace: [SuperOffice.WebApi.Data](SuperOffice.WebApi.Data.md)\
Assembly: SuperOffice.WebApi.dll

Carrier object for SoPrincipalCarrier.
Representation of a serialized exception that can be communicatyed over web services

```csharp theme={null}
public class SoPrincipalCarrier
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ←
[SoPrincipalCarrier](SuperOffice.WebApi.Data.SoPrincipalCarrier.md)

#### Inherited Members

[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring),
[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)),
[object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)),
[object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals),
[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode),
[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype),
[object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone)

## Constructors

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier__ctor" /> SoPrincipalCarrier()

Default constructor - defaults any enum props to 0.

```csharp theme={null}
public SoPrincipalCarrier()
```

## Properties

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_Associate" /> Associate

Associate name (e.g. logon name) for the user

```csharp theme={null}
public virtual string Associate { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_AssociateId" /> AssociateId

AssociateId for the user.

```csharp theme={null}
public virtual int AssociateId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_BusinessId" /> BusinessId

BusinessIdx for the company that the user belongs to.

```csharp theme={null}
public virtual int BusinessId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_CategoryId" /> CategoryId

CategoryIdx of the company that the user belongs to.

```csharp theme={null}
public virtual int CategoryId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_ContactId" /> ContactId

Company of the associate's person

```csharp theme={null}
public virtual int ContactId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_ContactOwner" /> ContactOwner

Owner (AssociateId) of the company that the user belongs to.

```csharp theme={null}
public virtual int ContactOwner { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_CountryId" /> CountryId

Country id for the user.

```csharp theme={null}
public virtual int CountryId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_DatabaseContextIdentifier" /> DatabaseContextIdentifier

Name of the database context

```csharp theme={null}
public virtual string DatabaseContextIdentifier { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_EMailAddress" /> EMailAddress

The Person e-mail address if the associate is a person. Use IsPerson to check

```csharp theme={null}
public virtual string EMailAddress { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_EjAccessLevel" /> EjAccessLevel

eJournal user access level

```csharp theme={null}
public virtual int EjAccessLevel { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_EjUserId" /> EjUserId

Primary key in eJournal's old user table.

```csharp theme={null}
public virtual int EjUserId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_EjUserStatus" /> EjUserStatus

eJournal user status
NULL if unknown enum value.

```csharp theme={null}
[JsonIgnore]
public EjUserStatus? EjUserStatus { get; set; }
```

#### Property Value

[EjUserStatus](SuperOffice.WebApi.Data.EjUserStatus.md)?

#### See Also

[SoPrincipalCarrier](SuperOffice.WebApi.Data.SoPrincipalCarrier.md).[EjUserStatus\_String](SuperOffice.WebApi.Data.SoPrincipalCarrier.md#SuperOffice_WebApi_Data_SoPrincipalCarrier_EjUserStatus_String)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_EjUserStatus_String" /> EjUserStatus\_String

eJournal user status
Raw string enum value.

```csharp theme={null}
[JsonProperty("EjUserStatus")]
public string EjUserStatus_String { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

#### See Also

[SoPrincipalCarrier](SuperOffice.WebApi.Data.SoPrincipalCarrier.md).[EjUserStatus](SuperOffice.WebApi.Data.SoPrincipalCarrier.md#SuperOffice_WebApi_Data_SoPrincipalCarrier_EjUserStatus)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_FullName" /> FullName

The Person full name if the associate is a person. Use IsPerson to check

```csharp theme={null}
public virtual string FullName { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_FunctionRights" /> FunctionRights

Functional rights for the user.  This array is sorted.

```csharp theme={null}
public virtual string[] FunctionRights { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)\[]

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_GroupId" /> GroupId

Associate's group\_idx

```csharp theme={null}
public virtual int GroupId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_HomeCountryId" /> HomeCountryId

Country id for the user's home country.  This is the default country id when creating new items.

```csharp theme={null}
public virtual int HomeCountryId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_IsPerson" /> IsPerson

Is this associate a person, and not a resource?

```csharp theme={null}
public virtual bool IsPerson { get; set; }
```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_Licenses" /> Licenses

License granted to the site and user.

```csharp theme={null}
public virtual GrantedModuleLicense[] Licenses { get; set; }
```

#### Property Value

[GrantedModuleLicense](SuperOffice.WebApi.Data.GrantedModuleLicense.md)\[]

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_PersonId" /> PersonId

Associate's person id

```csharp theme={null}
public virtual int PersonId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_ProvidedCredentials" /> ProvidedCredentials

The credentials used for authenticating this user

```csharp theme={null}
public virtual ProvidedCredential[] ProvidedCredentials { get; set; }
```

#### Property Value

[ProvidedCredential](SuperOffice.WebApi.Data.ProvidedCredential.md)\[]

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_RoleDescription" /> RoleDescription

Descrtiption (e.g. tooltip) for the users role

```csharp theme={null}
public virtual string RoleDescription { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_RoleId" /> RoleId

Id of the users role

```csharp theme={null}
public virtual int RoleId { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_RoleName" /> RoleName

Name of the users role

```csharp theme={null}
public virtual string RoleName { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_RoleType" /> RoleType

Type of user.
NULL if unknown enum value.

```csharp theme={null}
[JsonIgnore]
public RoleType? RoleType { get; set; }
```

#### Property Value

[RoleType](SuperOffice.WebApi.Data.RoleType.md)?

#### See Also

[SoPrincipalCarrier](SuperOffice.WebApi.Data.SoPrincipalCarrier.md).[RoleType\_String](SuperOffice.WebApi.Data.SoPrincipalCarrier.md#SuperOffice_WebApi_Data_SoPrincipalCarrier_RoleType_String)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_RoleType_String" /> RoleType\_String

Type of user.
Raw string enum value.

```csharp theme={null}
[JsonProperty("RoleType")]
public string RoleType_String { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

#### See Also

[SoPrincipalCarrier](SuperOffice.WebApi.Data.SoPrincipalCarrier.md).[RoleType](SuperOffice.WebApi.Data.SoPrincipalCarrier.md#SuperOffice_WebApi_Data_SoPrincipalCarrier_RoleType)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_SecondaryGroups" /> SecondaryGroups

Secondary user groups

```csharp theme={null}
public virtual int[] SecondaryGroups { get; set; }
```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)\[]

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_UserType" /> UserType

Type of user
NULL if unknown enum value.

```csharp theme={null}
[JsonIgnore]
public UserType? UserType { get; set; }
```

#### Property Value

[UserType](SuperOffice.WebApi.Data.UserType.md)?

#### See Also

[SoPrincipalCarrier](SuperOffice.WebApi.Data.SoPrincipalCarrier.md).[UserType\_String](SuperOffice.WebApi.Data.SoPrincipalCarrier.md#SuperOffice_WebApi_Data_SoPrincipalCarrier_UserType_String)

### <a id="SuperOffice_WebApi_Data_SoPrincipalCarrier_UserType_String" /> UserType\_String

Type of user
Raw string enum value.

```csharp theme={null}
[JsonProperty("UserType")]
public string UserType_String { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

#### See Also

[SoPrincipalCarrier](SuperOffice.WebApi.Data.SoPrincipalCarrier.md).[UserType](SuperOffice.WebApi.Data.SoPrincipalCarrier.md#SuperOffice_WebApi_Data_SoPrincipalCarrier_UserType)


## Related topics

- [SuperOffice.WebApi.Agents.UserAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.UserAgent.md)
- [SuperOffice.WebApi.Agents.IUserAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.IUserAgent.md)
- [NSSoPrincipalCarrier](/en/automation/crmscript/reference/CRMScript.NetServer.NSSoPrincipalCarrier.md)
- [SuperOffice.License.SoLicenseNames](/en/api/reference/webapi/SuperOffice.License.SoLicenseNames.md)
