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

# DynamicClientRegistrationRequest

> The RFC 7591 section 2 client metadata document [DynamicClientRegistrar](/odata-mcp/api-reference/Microsoft/OData/Mcp/Authentication/Outbound/DynamicClientRegistrar) P...

## Definition

**Assembly:** Microsoft.OData.Mcp.Authentication.dll

**Namespace:** Microsoft.OData.Mcp.Authentication.Outbound

**Inheritance:** System.Object

## Syntax

```csharp theme={null}
Microsoft.OData.Mcp.Authentication.Outbound.DynamicClientRegistrationRequest
```

## Summary

The RFC 7591 section 2 client metadata document [DynamicClientRegistrar](https://ai.easyaf.dev/odata-mcp/api-reference/Microsoft/OData/Mcp/Authentication/Outbound/DynamicClientRegistrar.md) POSTs to an
authorization server's `registration_endpoint`.

## Remarks

This exists because the SDK's own registration request type is not public — only its
`DynamicClientRegistrationResponse` counterpart is — and outbound OAuth serializes
exclusively through [OutboundOAuthJsonContext](https://learn.microsoft.com/dotnet/api/microsoft.odata.mcp.authentication.outbound.outboundoauthjsoncontext) (AOT: JSON source-gen; no reflection).
Properties left [`null`](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) are omitted from the wire document, so an authorization server
that rejects an empty `redirect_uris` never sees one.

## Examples

```csharp theme={null}
var request = new DynamicClientRegistrationRequest
{
    ClientName = "odata-mcp",
    GrantTypes = [ODataMcpAuthConstants.GrantTypeAuthorizationCode],
    RedirectUris = ["http://127.0.0.1:53219/callback/"],
    ResponseTypes = [ODataMcpAuthConstants.ResponseTypeCode],
    TokenEndpointAuthMethod = TokenEndpointClient.AuthMethodNone
};
```

## Constructors

### &#x20;.ctor

#### Syntax

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

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

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

## Properties

### &#x20;ApplicationType

Gets or sets the RFC 7591 `application_type`, such as `native`, or [`null`](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null)
to let the authorization server default it.

#### Syntax

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

#### Property Value

Type: `string?`

### &#x20;ClientName

Gets or sets the human-readable client name shown on a consent screen.

#### Syntax

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

#### Property Value

Type: `string?`

### &#x20;ClientUri

Gets or sets the informational home page of the client, or [`null`](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) when there is none.

#### Syntax

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

#### Property Value

Type: `string?`

### &#x20;GrantTypes

Gets or sets the grant types this client intends to use.

#### Syntax

```csharp theme={null}
public System.Collections.Generic.IList<string> GrantTypes { get; set; }
```

#### Property Value

Type: `System.Collections.Generic.IList<string>?`

### &#x20;RedirectUris

Gets or sets the redirect URIs the authorization server may redirect to, or [`null`](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null)
for a client that never uses a redirect-based grant.

#### Syntax

```csharp theme={null}
public System.Collections.Generic.IList<string> RedirectUris { get; set; }
```

#### Property Value

Type: `System.Collections.Generic.IList<string>?`

### &#x20;ResponseTypes

Gets or sets the response types this client's authorization requests use.

#### Syntax

```csharp theme={null}
public System.Collections.Generic.IList<string> ResponseTypes { get; set; }
```

#### Property Value

Type: `System.Collections.Generic.IList<string>?`

### &#x20;TokenEndpointAuthMethod

Gets or sets the token endpoint authentication method this client will use, normally
[TokenEndpointClient.AuthMethodNone](https://ai.easyaf.dev/odata-mcp/api-reference/Microsoft/OData/Mcp/Authentication/Outbound/TokenEndpointClient.md#authmethodnone) for a public CLI.

#### Syntax

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

#### Property Value

Type: `string?`

## Methods

### &#x20;Equals Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual bool Equals(object obj)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `obj` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;Equals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;GetHashCode Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### &#x20;GetType Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### &#x20;MemberwiseClone Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### &#x20;ReferenceEquals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;ToString Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual string ToString()
```

#### Returns

Type: `string?`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.