#### [Abblix\.Jwt](https://www.abblix.com/en/docs/api/abblix-jwt 'index')
### [Abblix\.Jwt](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt 'Abblix\.Jwt')

## AuthorizationDetail Class

One entry in the OAuth 2\.0 Rich Authorization Requests `authorization_details` array
\(RFC 9396 §2\), wrapped over a [System\.Text\.Json\.Nodes\.JsonNode](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonnode 'System\.Text\.Json\.Nodes\.JsonNode') which is the source of truth for the
entry's content\. The wrapper exposes the RFC 9396 §2\.2 common\-data members as strongly\-typed
accessors that read from and write to the underlying [Json](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.AuthorizationDetail#Abblix.Jwt.AuthorizationDetail.Json 'Abblix\.Jwt\.AuthorizationDetail\.Json') directly — the same
shape [JsonWebTokenPayload](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.JsonWebTokenPayload 'Abblix\.Jwt\.JsonWebTokenPayload') uses over its [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject')\.

```csharp
public record AuthorizationDetail : System.IEquatable<Abblix.Jwt.AuthorizationDetail>
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → AuthorizationDetail

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[AuthorizationDetail](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.AuthorizationDetail 'Abblix\.Jwt\.AuthorizationDetail')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')

### Remarks
Type\-specific members outside the §2\.2 common\-data set \(for example the
`instructedAmount` / `creditorAccount` fields of a PSD2 `payment_initiation`
entry\) are accessed directly through [Json](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.AuthorizationDetail#Abblix.Jwt.AuthorizationDetail.Json 'Abblix\.Jwt\.AuthorizationDetail\.Json'); the per\-type validator that owns
the schema for a given `type` reads and writes them via the
[System\.Text\.Json\.Nodes](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes 'System\.Text\.Json\.Nodes') API on the wrapped node\.
### Constructors

## AuthorizationDetail\(JsonObject\) Constructor {#Abblix.Jwt.AuthorizationDetail.AuthorizationDetail(System.Text.Json.Nodes.JsonObject)}

One entry in the OAuth 2\.0 Rich Authorization Requests `authorization_details` array
\(RFC 9396 §2\), wrapped over a [System\.Text\.Json\.Nodes\.JsonNode](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonnode 'System\.Text\.Json\.Nodes\.JsonNode') which is the source of truth for the
entry's content\. The wrapper exposes the RFC 9396 §2\.2 common\-data members as strongly\-typed
accessors that read from and write to the underlying [Json](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.AuthorizationDetail#Abblix.Jwt.AuthorizationDetail.Json 'Abblix\.Jwt\.AuthorizationDetail\.Json') directly — the same
shape [JsonWebTokenPayload](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.JsonWebTokenPayload 'Abblix\.Jwt\.JsonWebTokenPayload') uses over its [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject')\.

```csharp
public AuthorizationDetail(System.Text.Json.Nodes.JsonObject Json);
```
#### Parameters

###### `Json` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') {#Abblix.Jwt.AuthorizationDetail.AuthorizationDetail(System.Text.Json.Nodes.JsonObject).Json}

The underlying JSON node carrying the entry's wire shape\. Member order,
            type\-specific payload \(RFC 9396 §2\.2 extension members\), and any unknown fields the AS does
            not model survive the authorize → code → token round\-trip byte\-exact because no typed
            deserialise / re\-serialise cycle ever runs over them\.

### Remarks
Type\-specific members outside the §2\.2 common\-data set \(for example the
`instructedAmount` / `creditorAccount` fields of a PSD2 `payment_initiation`
entry\) are accessed directly through [Json](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.AuthorizationDetail#Abblix.Jwt.AuthorizationDetail.Json 'Abblix\.Jwt\.AuthorizationDetail\.Json'); the per\-type validator that owns
the schema for a given `type` reads and writes them via the
[System\.Text\.Json\.Nodes](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes 'System\.Text\.Json\.Nodes') API on the wrapped node\.
### Properties

## AuthorizationDetail\.Actions Property {#Abblix.Jwt.AuthorizationDetail.Actions}

Kinds of actions to be taken at the resource, per RFC 9396 §2\.2\.

```csharp
public System.Collections.Generic.IEnumerable<string>? Actions { get; set; }
```

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## AuthorizationDetail\.Datatypes Property {#Abblix.Jwt.AuthorizationDetail.Datatypes}

Kinds of data being requested from the resource, per RFC 9396 §2\.2\.

```csharp
public System.Collections.Generic.IEnumerable<string>? Datatypes { get; set; }
```

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## AuthorizationDetail\.Identifier Property {#Abblix.Jwt.AuthorizationDetail.Identifier}

A specific resource identifier at the API, per RFC 9396 §2\.2\.

```csharp
public string? Identifier { get; set; }
```

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

## AuthorizationDetail\.Json Property {#Abblix.Jwt.AuthorizationDetail.Json}

The underlying JSON node carrying the entry's wire shape\. Member order,
            type\-specific payload \(RFC 9396 §2\.2 extension members\), and any unknown fields the AS does
            not model survive the authorize → code → token round\-trip byte\-exact because no typed
            deserialise / re\-serialise cycle ever runs over them\.

```csharp
public System.Text.Json.Nodes.JsonObject Json { get; }
```

#### Property Value
[System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject')

## AuthorizationDetail\.Locations Property {#Abblix.Jwt.AuthorizationDetail.Locations}

Locations of the resource server\(s\) the client wants to access, per RFC 9396 §2\.2\.
Typically URIs identifying resource servers\.

```csharp
public System.Collections.Generic.IEnumerable<string>? Locations { get; set; }
```

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## AuthorizationDetail\.Privileges Property {#Abblix.Jwt.AuthorizationDetail.Privileges}

Types or levels of privilege being requested at the resource, per RFC 9396 §2\.2\.

```csharp
public System.Collections.Generic.IEnumerable<string>? Privileges { get; set; }
```

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')

## AuthorizationDetail\.Type Property {#Abblix.Jwt.AuthorizationDetail.Type}

The authorization\-detail type identifier per RFC 9396 §2\.1\. Required by the spec;
the per\-type validator rejects entries where this member is missing with
`invalid_authorization_details`\.

```csharp
public string? Type { get; set; }
```

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