---
title: "Register a Client"
method: POST
path: "/oauth/v2/register"
tags: ["OAuth 2.0"]
---

# Register a Client

`POST /oauth/v2/register`

## Request

- Base URL: `https://api.proof.com`
- URL: `https://api.proof.com/oauth/v2/register`
- Auth: none declared

Registers an OAuth client from the [client metadata](https://datatracker.ietf.org/doc/html/rfc7591#section-2) in the request body and returns a [client information response](https://datatracker.ietf.org/doc/html/rfc7591#section-3.2.1). The endpoint is unauthenticated. 

The `client_secret` appears in this response only. Proof sets `grant_types`, `response_types` and `scope`, and sets `token_endpoint_auth_method` to `client_secret_post` unless the request asks for [`private_key_jwt`](https://datatracker.ietf.org/doc/html/rfc7523#section-2.2) with a `jwks` or `jwks_uri`, in which case no `client_secret` is issued.

## Request body

- ClientRegistrationRequest
  - `redirect_uris` string[], required: [Redirect URIs](https://datatracker.ietf.org/doc/html/rfc6749#section-3.1.2) for the authorization endpoint. At least one is required.
  - `client_name` string: Name shown to the User on the authorization page. Proof generates one when this is absent.
  - `client_uri` string: URL of the client home page.
  - `logo_uri` string: URL of a logo for the client.
  - `contacts` string[]: Email addresses of people responsible for the client.
  - `tos_uri` string: URL of the terms of service of the client.
  - `policy_uri` string: URL of the privacy policy of the client.
  - `jwks_uri` string: URL of the [JWK Set](https://datatracker.ietf.org/doc/html/rfc7517#section-5) of the client. Supply either `jwks_uri` or `jwks`.
  - `jwks` object: The [JWK Set](https://datatracker.ietf.org/doc/html/rfc7517#section-5) of the client, by value. Supply either `jwks` or `jwks_uri`.
  - `software_id` string: Identifier the client developer assigns to the client software.
  - `software_version` string: Version of the client software.
  - `token_endpoint_auth_method` 'client_secret_post' | 'private_key_jwt': Requested client authentication method. `private_key_jwt` requires `jwks` or `jwks_uri` and issues no `client_secret`; any other value results in `client_secret_post`.

## Response `201`

Created

- ClientRegistrationResponse
  - `client_id` string: The [`client_id`](https://datatracker.ietf.org/doc/html/rfc6749#section-2.2) issued to the client.
  - `client_secret` string: The client secret issued to the client. Returned in this response only.
  - `client_id_issued_at` integer: Issue time of the `client_id`, as a Unix timestamp in seconds.
  - `client_secret_expires_at` integer: Expiry of the `client_secret`, as a Unix timestamp in seconds. `0` marks a secret that lasts indefinitely.
  - `token_endpoint_auth_method` string: The client authentication method the client uses at the token endpoint.
  - `grant_types` string[]: Grant types the client may use.
  - `response_types` string[]: Response types the client may use.
  - `scope` string: Space-separated [scope](https://datatracker.ietf.org/doc/html/rfc6749#section-3.3) values the client may request.
  - `client_name` string: Name of the registered client.
  - `redirect_uris` string[]: Redirect URIs registered for the client.
  - `client_uri` string: Echoed from the registration request.
  - `logo_uri` string: Echoed from the registration request.
  - `contacts` string[]: Echoed from the registration request.
  - `tos_uri` string: Echoed from the registration request.
  - `policy_uri` string: Echoed from the registration request.
  - `jwks_uri` string: Echoed from the registration request.
  - `jwks` object: Echoed from the registration request.
  - `software_id` string: Echoed from the registration request.
  - `software_version` string: Echoed from the registration request.

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/proof/apis/oauth-2-0-api-specification.md) - [All operations](https://skmtc.dev/proof/apis/oauth-2-0-api-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/proof/apis/oauth-2-0-api-specification/revisions/7e769f9c96ed?raw)
