---
title: "Register OAuth client"
method: POST
path: "/admin/oauth-clients"
tags: ["OAuth Clients"]
---

# Register OAuth client

`POST /admin/oauth-clients`

Register a new OAuth client for third-party application integration.

The generated ``client_id`` and ``client_secret`` are returned in the
response. The secret is shown only once — store it securely.

## Request body

- OAuthClientCreateRequest — Request body for creating an OAuth client.
  - `allowed_scopes` string[], nullable — If set, restricts which scopes this client may request. An empty list denies all non-OIDC scopes. Null means unrestricted (all scopes permitted).
  - `description` string, nullable — Optional description of the client.
  - `name` string, required — Human-readable name for the client.
  - `redirect_uris` string[], required — Allowed OAuth callback URLs. At least one required.
  - `require_consent` boolean — Whether to show a consent screen during authorization. Set to false for trusted first-party integrations.

## Response `201`

Successful Response

- OAuthClientCreateResponse — Returned on creation — includes the one-time plaintext client secret.
  - `active` boolean, required
  - `allowed_scopes` string[], nullable, required — Scopes this client may request. Null means unrestricted.
  - `client_id` string, required — Public client identifier used in OAuth flows.
  - `client_secret` string, required — The client secret. Shown only once at creation — store it securely.
  - `created_at` string, date-time, required
  - `created_by` string, nullable, required
  - `description` string, nullable, required
  - `id` string, required — Internal ID (ksuid).
  - `name` string, required
  - `redirect_uris` string[], required
  - `require_consent` boolean, required — Whether a consent screen is shown during authorization.
  - `updated_at` string, date-time, nullable, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Entity
- `500` — Internal Server Error
- `503` — Service Unavailable

## Changes

- **2026-08-31** `170ab6ea6e23` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/jentic/apis/jentic-control-plane-api/changes/admin/oauth-clients/post.md)

---

[API](https://skmtc.dev/jentic/apis/jentic-control-plane-api.md) · [All operations](https://skmtc.dev/jentic/apis/jentic-control-plane-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/jentic/jentic-control-plane-api/revisions/f4594f50f4d3/schema)
