#### [Abblix\.SecurityEvents\.CAEP](https://www.abblix.com/en/docs/api/abblix-securityevents-caep 'index')
### [Abblix\.SecurityEvents\.CAEP](https://www.abblix.com/en/docs/api/abblix-securityevents-caep/Abblix.SecurityEvents.CAEP 'Abblix\.SecurityEvents\.CAEP')

## AssuranceLevelChangePayload Class

Assurance Level Change \(CAEP 1\.0 Section 3\.4\): the subject's authentication strength changed
since the initial login, in either direction \- a user stepping up with a second factor at
one provider is a signal every other provider holding the session may act on\. When
[EventTimestamp](https://www.abblix.com/en/docs/api/abblix-securityevents-caep/Abblix.SecurityEvents.CAEP.CaepEventPayload#Abblix.SecurityEvents.CAEP.CaepEventPayload.EventTimestamp 'Abblix\.SecurityEvents\.CAEP\.CaepEventPayload\.EventTimestamp') is included it is the moment of the change\.

```csharp
public sealed record AssuranceLevelChangePayload : Abblix.SecurityEvents.CAEP.CaepEventPayload, System.IEquatable<Abblix.SecurityEvents.CAEP.AssuranceLevelChangePayload>
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [CaepEventPayload](https://www.abblix.com/en/docs/api/abblix-securityevents-caep/Abblix.SecurityEvents.CAEP.CaepEventPayload 'Abblix\.SecurityEvents\.CAEP\.CaepEventPayload') → AssuranceLevelChangePayload

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[AssuranceLevelChangePayload](https://www.abblix.com/en/docs/api/abblix-securityevents-caep/Abblix.SecurityEvents.CAEP.AssuranceLevelChangePayload 'Abblix\.SecurityEvents\.CAEP\.AssuranceLevelChangePayload')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Properties

## AssuranceLevelChangePayload\.ChangeDirection Property {#Abblix.SecurityEvents.CAEP.AssuranceLevelChangePayload.ChangeDirection}

OPTIONAL\. Which way the level moved, one of [ChangeDirections](https://www.abblix.com/en/docs/api/abblix-securityevents-caep/Abblix.SecurityEvents.CAEP.AssuranceLevelChangePayload.ChangeDirections 'Abblix\.SecurityEvents\.CAEP\.AssuranceLevelChangePayload\.ChangeDirections'); a
transmitter that stated the previous level should state this too
\(CAEP 1\.0 Section 3\.4\.1\)\.

```csharp
public string? ChangeDirection { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AssuranceLevelChangePayload\.CurrentLevel Property {#Abblix.SecurityEvents.CAEP.AssuranceLevelChangePayload.CurrentLevel}

REQUIRED\. The current assurance level, as the namespace defines it
\(CAEP 1\.0 Section 3\.4\.1\)\.

```csharp
public string CurrentLevel { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AssuranceLevelChangePayload\.Namespace Property {#Abblix.SecurityEvents.CAEP.AssuranceLevelChangePayload.Namespace}

REQUIRED\. The namespace the level values come from, one of [Namespaces](https://www.abblix.com/en/docs/api/abblix-securityevents-caep/Abblix.SecurityEvents.CAEP.AssuranceLevelChangePayload.Namespaces 'Abblix\.SecurityEvents\.CAEP\.AssuranceLevelChangePayload\.Namespaces') or
an agreed custom alias \(CAEP 1\.0 Section 3\.4\.1\)\.

```csharp
public string Namespace { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AssuranceLevelChangePayload\.PreviousLevel Property {#Abblix.SecurityEvents.CAEP.AssuranceLevelChangePayload.PreviousLevel}

OPTIONAL\. The previous assurance level; absent means the transmitter does not know it
\(CAEP 1\.0 Section 3\.4\.1\)\.

```csharp
public string? PreviousLevel { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
