---
title: "Dynamically registers a new OAuth 2.0 client according to RFC 7591."
method: POST
path: "/clientapplications/register"
tags: ["clientApplications"]
---

# Dynamically registers a new OAuth 2.0 client according to RFC 7591.

`POST /clientapplications/register`

<Check title="Required Permissions" icon="key">Allows unauthenticated access.</Check>

## Headers

- `Authorization` string, required

## Request body

- DynamicClientRegistrationEndpointRequest
  - `redirect_uris` string[], nullable
  - `client_name` string, nullable
  - `token_endpoint_auth_method` string, nullable
  - `grant_types` string[], nullable
  - `response_types` string[], nullable
  - `scope` string, nullable
  - `application_type` string, nullable
  - `contacts` string[], nullable
  - `logo_uri` string, nullable
  - `client_uri` string, nullable
  - `policy_uri` string, nullable
  - `tos_uri` string, nullable
  - `software_id` string, nullable
  - `software_version` string, nullable

## Response `201`

Created

- DynamicClientRegistrationResponse — OAuth 2.0 Dynamic Client Registration Response as defined in RFC 7591. Inherits all request properties and adds response-specific fields.
  - `redirect_uris` string[], nullable — Array of redirection URI strings for use in redirect-based flows.
  - `client_name` string, nullable — Human-readable name of the client to be presented to the end-user.
  - `token_endpoint_auth_method` string, nullable — Requested authentication method for the token endpoint.
  - `grant_types` string[], nullable — Array of OAuth 2.0 grant types that the client will use.
  - `response_types` string[], nullable — Array of OAuth 2.0 response types that the client will use.
  - `scope` string, nullable — Space-delimited list of OAuth 2.0 scope values.
  - `application_type` string, nullable — Kind of the application.
  - `contacts` string[], nullable — Array of e-mail addresses of people responsible for this client.
  - `logo_uri` string, nullable — URL that references a logo for the client application.
  - `client_uri` string, nullable — URL of the home page of the client application.
  - `policy_uri` string, nullable — URL that the client provides to the end-user with information about how the client uses their data.
  - `tos_uri` string, nullable — URL that the client provides to the end-user to read about the client's terms of service.
  - `software_id` string, nullable — A unique identifier string (e.g., a Universally Unique Identifier (UUID)) assigned by the client developer.
  - `software_version` string, nullable — A version identifier string for the client software identified by software_id.
  - `client_id` string, nullable — OAuth 2.0 client identifier string.
  - `client_secret` string, nullable — OAuth 2.0 client secret string. Only provided for confidential clients.
  - `client_secret_expires_at` integer — Time at which the client secret will expire (0 if it doesn't expire).
  - `client_id_issued_at` integer — Time at which the client identifier was issued as seconds since Unix epoch.

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/awork-io/apis/api-v1-reference.md) · [All operations](https://skmtc.net/awork-io/apis/api-v1-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/awork-io/api-v1-reference/versions/f784a53f60df/schema)
