#### [Abblix\.Oidc\.Server](https://www.abblix.com/en/docs/api/abblix-oidc-server 'index')
### [Abblix\.Oidc\.Server\.Model](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model 'Abblix\.Oidc\.Server\.Model')

## ReadClientSuccessfulResponse Class

Represents the response for a successful client read request,
detailing the configuration and metadata of an OAuth or OpenID Connect client\.
Per RFC 7592 Section 3, this response includes the registration access token and all registered client metadata\.
Unregistered metadata is omitted from the JSON per RFC 7592 §3, not emitted as an explicit null\.

```csharp
public record ReadClientSuccessfulResponse : System.IEquatable<Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse>
```

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

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[ReadClientSuccessfulResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse 'Abblix\.Oidc\.Server\.Model\.ReadClientSuccessfulResponse')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Properties

## ReadClientSuccessfulResponse\.ApplicationType Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.ApplicationType}

The type of application for which the client is registered \(e\.g\., web, native\)\.
Optional \- server may assign default\. Per RFC 7591 Section 2\.

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

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

## ReadClientSuccessfulResponse\.AuthorizationDetailsTypes Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.AuthorizationDetailsTypes}

The per\-client allowlist of authorization\-detail `type` values this client may
use in RFC 9396 Rich Authorization Requests \(`authorization_details_types`,
RFC 9396 §5\.1\)\. Echoes the registered value of
[AuthorizationDetailsTypes](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo#Abblix.Oidc.Server.Features.ClientInformation.ClientInfo.AuthorizationDetailsTypes 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo\.AuthorizationDetailsTypes')\.

```csharp
public string[]? AuthorizationDetailsTypes { get; init; }
```

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

## ReadClientSuccessfulResponse\.ClientId Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.ClientId}

The unique identifier of the client as registered with the authorization server\.
Required per RFC 7591 Section 3\.2\.1\.

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

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

## ReadClientSuccessfulResponse\.ClientName Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.ClientName}

The human\-readable name of the client\.
Optional client metadata\. Per RFC 7591 Section 2\.

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

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

## ReadClientSuccessfulResponse\.ClientSecret Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.ClientSecret}

The secret associated with the client, used for authenticating with the authorization server\.
Optional \- only present for confidential clients\. Per RFC 7591 Section 3\.2\.1\.

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

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

## ReadClientSuccessfulResponse\.ClientSecretExpiresAt Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.ClientSecretExpiresAt}

The expiration time of the client secret\. Indicates when the client secret will become invalid\.
Required if client\_secret is issued\. Per RFC 7591 Section 3\.2\.1\.
A value of 0 indicates the secret does not expire\.
Serialized as Unix seconds \(a JSON number\) per RFC 7591 §3\.2\.1, matching the register\-path DTO\.

```csharp
public System.Nullable<System.DateTimeOffset> ClientSecretExpiresAt { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')[System\.DateTimeOffset](https://learn.microsoft.com/en-us/dotnet/api/system.datetimeoffset 'System\.DateTimeOffset')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')

## ReadClientSuccessfulResponse\.Contacts Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.Contacts}

Array of contact email addresses for people responsible for this client\.
Optional client metadata\. Per RFC 7591 Section 2\.

```csharp
public string[]? Contacts { get; init; }
```

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

## ReadClientSuccessfulResponse\.DpopBoundAccessTokens Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.DpopBoundAccessTokens}

Whether access tokens issued to this client are sender\-constrained via DPoP per
RFC 9449 §5\.2 \(`dpop_bound_access_tokens`\)\. Echoes [RequireDPoP](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo#Abblix.Oidc.Server.Features.ClientInformation.ClientInfo.RequireDPoP 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo\.RequireDPoP')\.

```csharp
public System.Nullable<bool> DpopBoundAccessTokens { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')

## ReadClientSuccessfulResponse\.GrantTypes Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.GrantTypes}

The registered grant types, including server\-assigned defaults\. Per RFC 7591 §2 / RFC 7592 §3\.

```csharp
public string[]? GrantTypes { get; init; }
```

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

## ReadClientSuccessfulResponse\.InitiateLoginUri Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.InitiateLoginUri}

URL that the authorization server can call to initiate a login at the client\.
Optional\. Per OpenID Connect Core Section 4\.

```csharp
public System.Uri? InitiateLoginUri { get; init; }
```

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

## ReadClientSuccessfulResponse\.JwksUri Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.JwksUri}

URL for the client's JSON Web Key Set document\.
Optional \- alternative to providing keys directly\. Per RFC 7591 Section 2\.

```csharp
public System.Uri? JwksUri { get; init; }
```

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

## ReadClientSuccessfulResponse\.LogoUri Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.LogoUri}

URL that references a logo for the client\.
Optional client metadata\. Per RFC 7591 Section 2\.

```csharp
public System.Uri? LogoUri { get; init; }
```

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

## ReadClientSuccessfulResponse\.RedirectUris Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.RedirectUris}

The URIs where the client expects to receive responses after user authentication\.
Required for most grant types\. Per RFC 7591 Section 2\.

```csharp
public System.Uri[] RedirectUris { get; init; }
```

#### Property Value
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')

## ReadClientSuccessfulResponse\.RegistrationAccessToken Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.RegistrationAccessToken}

The access token for subsequent operations on the client configuration endpoint\.
Required per RFC 7592 Section 3\.

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

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

## ReadClientSuccessfulResponse\.RegistrationClientUri Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.RegistrationClientUri}

The fully qualified URL of the client configuration endpoint for this client\.
Required per RFC 7592 Section 3\.

```csharp
public System.Uri? RegistrationClientUri { get; init; }
```

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

## ReadClientSuccessfulResponse\.RequestUris Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.RequestUris}

Array of request\_uri values that are pre\-registered by the client\.
Optional\. Per OpenID Connect Core Section 6\.2\.

```csharp
public System.Uri[]? RequestUris { get; init; }
```

#### Property Value
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')

## ReadClientSuccessfulResponse\.RequirePushedAuthorizationRequests Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.RequirePushedAuthorizationRequests}

Whether PAR is the only way this client may start an authorization flow per RFC 9126 §6\.
Echoes [RequirePushedAuthorizationRequests](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo#Abblix.Oidc.Server.Features.ClientInformation.ClientInfo.RequirePushedAuthorizationRequests 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo\.RequirePushedAuthorizationRequests')\.

```csharp
public System.Nullable<bool> RequirePushedAuthorizationRequests { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')

## ReadClientSuccessfulResponse\.RequireSignedRequestObject Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.RequireSignedRequestObject}

Whether this client must deliver authorization parameters as a signed request object per
RFC 9101 §10\.5\. Echoes
[RequireSignedRequestObject](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo#Abblix.Oidc.Server.Features.ClientInformation.ClientInfo.RequireSignedRequestObject 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo\.RequireSignedRequestObject')\.

```csharp
public System.Nullable<bool> RequireSignedRequestObject { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')

## ReadClientSuccessfulResponse\.ResponseTypes Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.ResponseTypes}

The registered response type combinations \(each entry space\-separated\), including
server\-assigned defaults\. Per RFC 7591 §2 / RFC 7592 §3\.

```csharp
public string[][]? ResponseTypes { get; init; }
```

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

## ReadClientSuccessfulResponse\.Scope Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.Scope}

The registered scope values, serialized as a space\-separated string\.
Per RFC 7591 §2 / RFC 7592 §3\.

```csharp
public string[]? Scope { get; init; }
```

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

## ReadClientSuccessfulResponse\.SectorIdentifierUri Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.SectorIdentifierUri}

URL using the https scheme to be used in calculating pseudonymous identifiers for pairwise subject type\.
Optional \- only relevant for pairwise subject identifiers\. Per OpenID Connect Core Section 8\.1\.

```csharp
public System.Uri? SectorIdentifierUri { get; init; }
```

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

## ReadClientSuccessfulResponse\.SubjectType Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.SubjectType}

The type of subject identifier used \(e\.g\., public, pairwise\)\.
Optional \- server may assign default\. Per OpenID Connect Core Section 8\.

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

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

## ReadClientSuccessfulResponse\.TlsClientAuthSanDns Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.TlsClientAuthSanDns}

Required DNS Subject Alternative Names for tls\_client\_auth\.

```csharp
public string[]? TlsClientAuthSanDns { get; init; }
```

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

## ReadClientSuccessfulResponse\.TlsClientAuthSanEmail Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.TlsClientAuthSanEmail}

Required email Subject Alternative Names for tls\_client\_auth\.

```csharp
public string[]? TlsClientAuthSanEmail { get; init; }
```

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

## ReadClientSuccessfulResponse\.TlsClientAuthSanIp Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.TlsClientAuthSanIp}

Required IP Subject Alternative Names for tls\_client\_auth\.

```csharp
public string[]? TlsClientAuthSanIp { get; init; }
```

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

## ReadClientSuccessfulResponse\.TlsClientAuthSanUri Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.TlsClientAuthSanUri}

Required URI Subject Alternative Names for tls\_client\_auth\.

```csharp
public System.Uri[]? TlsClientAuthSanUri { get; init; }
```

#### Property Value
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')

## ReadClientSuccessfulResponse\.TlsClientAuthSubjectDn Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.TlsClientAuthSubjectDn}

Exact Subject Distinguished Name required when using tls\_client\_auth\.

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

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

## ReadClientSuccessfulResponse\.TlsClientCertificateBoundAccessTokens Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.TlsClientCertificateBoundAccessTokens}

Whether access tokens are certificate\-bound whenever the token request arrives over mutual
TLS per RFC 8705 §3\.4\. Echoes
[TlsClientCertificateBoundAccessTokens](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo#Abblix.Oidc.Server.Features.ClientInformation.ClientInfo.TlsClientCertificateBoundAccessTokens 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo\.TlsClientCertificateBoundAccessTokens')\.

```csharp
public System.Nullable<bool> TlsClientCertificateBoundAccessTokens { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')

## ReadClientSuccessfulResponse\.TokenEndpointAuthMethod Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.TokenEndpointAuthMethod}

The method used for authenticating the client at the token endpoint\.
Optional \- server may assign default\. Per RFC 7591 Section 2\.

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

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

## ReadClientSuccessfulResponse\.TokenExchangeAudiences Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.TokenExchangeAudiences}

Non\-standard extension: default\-deny per\-client allowlist of RFC 8693 `audience` values
this client may request when exchanging a token\. Echoes
[TokenExchangeAllowedAudiences](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo#Abblix.Oidc.Server.Features.ClientInformation.ClientInfo.TokenExchangeAllowedAudiences 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo\.TokenExchangeAllowedAudiences')\.

```csharp
public string[]? TokenExchangeAudiences { get; init; }
```

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

## ReadClientSuccessfulResponse\.TokenExchangeSubjectTokenTypes Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.TokenExchangeSubjectTokenTypes}

Non\-standard extension: per\-client allowlist of RFC 8693 `subject_token_type` URIs this
client may submit to the Token Exchange grant\. Echoes
[TokenExchangeAllowedSubjectTokenTypes](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo#Abblix.Oidc.Server.Features.ClientInformation.ClientInfo.TokenExchangeAllowedSubjectTokenTypes 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo\.TokenExchangeAllowedSubjectTokenTypes')\.

```csharp
public string[]? TokenExchangeSubjectTokenTypes { get; init; }
```

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

## ReadClientSuccessfulResponse\.UserInfoEncryptedResponseAlg Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.UserInfoEncryptedResponseAlg}

JWE alg algorithm for encrypting UserInfo responses\.
Optional\. Per OpenID Connect Core Section 5\.6\.2\.

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

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

## ReadClientSuccessfulResponse\.UserInfoEncryptedResponseEnc Property {#Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse.UserInfoEncryptedResponseEnc}

JWE enc algorithm for encrypting UserInfo responses\.
Optional\. Per OpenID Connect Core Section 5\.6\.2\.

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

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