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

## IUpdateClientHandler Interface

Defines a contract for handling requests to update client configurations, as part of client management in OAuth 2\.0
and OpenID Connect frameworks per RFC 7592 Section 2\.2\.

```csharp
public interface IUpdateClientHandler
```

Derived  
↳ [UpdateClientHandler](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.UpdateClientHandler 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.UpdateClientHandler')
### Methods

## IUpdateClientHandler\.HandleAsync\(UpdateClientRequest\) Method {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IUpdateClientHandler.HandleAsync(Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.UpdateClientRequest)}

Asynchronously handles a request to update a client's configuration details\.

```csharp
System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse,Abblix.Oidc.Server.Common.OidcError>> HandleAsync(Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.UpdateClientRequest request);
```
#### Parameters

###### `request` [UpdateClientRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.UpdateClientRequest 'Abblix\.Oidc\.Server\.Endpoints\.DynamicClientManagement\.Interfaces\.UpdateClientRequest') {#Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.IUpdateClientHandler.HandleAsync(Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.UpdateClientRequest).request}

The update request containing the client authentication and updated metadata\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Abblix\.Utils\.Result&lt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[ReadClientSuccessfulResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse 'Abblix\.Oidc\.Server\.Model\.ReadClientSuccessfulResponse')[,](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A task that returns the updated client's configuration details or an error response\.

### Remarks
This method processes the incoming request to update a client's configuration per RFC 7592\.
It validates the request to ensure proper authentication via registration\_access\_token,
validates the updated metadata, and updates the client configuration\.
The response includes all client metadata with potentially updated registration\_access\_token\.
