> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Dynamic Application Registration

> Dynamically register a client application with Auth0 without a pre-existing token.

export const ResponseSchema = ({statusCode, type = "{}", children}) => {
  const [open, setOpen] = useState(false);
  return <div className="border border-gray-100 dark:border-gray-800 rounded-lg mb-3 overflow-hidden">
      <div className={`flex items-center gap-2.5 px-4 py-2.5 cursor-pointer select-none ${open ? "bg-gray-50 dark:bg-gray-800" : ""}`} onClick={() => setOpen(!open)}>
        {statusCode && <span className="border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 font-mono text-xs px-1.5 py-0.5 rounded">
            {statusCode.startsWith("default") ? "default" : statusCode}
          </span>}
        <span className="text-gray-500 dark:text-gray-400 text-sm font-mono">
          {type}
        </span>
        <span className="text-gray-400 dark:text-gray-500 text-sm italic">
          application/json
        </span>
        <svg className={`ml-auto opacity-50 transition-transform duration-200 ${open ? "rotate-180" : ""}`} width="16" height="16" viewBox="0 0 16 16" fill="none">
          <path d="M4 6l4 4 4-4" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
        </svg>
      </div>
      {open && <div className="px-4 pt-1 pb-3 border-t border-gray-100 dark:border-gray-800">
          {children}
        </div>}
    </div>;
};

## Endpoint

`POST /oidc/register`

With a name and the necessary callback URL, you can dynamically register a client with Auth0. No token is needed for this request.

## Body Parameters

<ParamField body="client_name" type="string">
  The name of the Dynamic Client to be created.
</ParamField>

<ParamField body="grant_types" type="array">
  List of grant types the client is able to use. If not provided, `authorization_code` grant type will be applied by default for <a href="https://auth0.com/docs/get-started/applications/third-party-applications">Third Party Apps</a> with enhanced security controls.
</ParamField>

<ParamField body="redirect_uris" type="array" required>
  An array of URLs that Auth0 will deem valid to call at the end of an Authentication flow.
</ParamField>

<ParamField body="token_endpoint_auth_method" type="string">
  Method used for authentication at the token endpoint.
</ParamField>

## Response Schema

<ResponseSchema>
  <ResponseField name="client_name" type="string">
    The name of the newly registered client.
  </ResponseField>

  <ResponseField name="client_id" type="string">
    The unique identifier of the client.
  </ResponseField>

  <ResponseField name="client_secret" type="string">
    The Client Secret.
  </ResponseField>

  <ResponseField name="client_secret_expires_at" type="integer">
    The expiration time of the Client Secret.
  </ResponseField>
</ResponseSchema>

## Response Messages

| Status | Description                              |
| ------ | ---------------------------------------- |
| 200    | Successful response with client details. |
