---
title: "Register an OAuth client"
method: POST
path: "/v1/oauth/register"
tags: ["oauth"]
---

# Register an OAuth client

`POST /v1/oauth/register`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/oauth/register`
- Auth: none required

Registers a public OAuth client (dynamic client registration, RFC 7591) that uses PKCE and no client secret. Redirect URIs must use https, or http on the local computer. A registered client belongs to no workspace and can do nothing until a person approves a connection. This endpoint is rate-limited per IP address.

**Notes.**
- RFC 7591 dynamic client registration for apps that connect to the MCP endpoint. No `{ data }` envelope. The client can do nothing until a person approves a connection.

## Request body

- object
  - `redirect_uris` string[], required: 1–10 URIs: https, or http on a loopback address.
  - `client_name` string
  - `client_uri` string: https only.
  - `logo_uri` string: https only.
  - `token_endpoint_auth_method` 'none': Only public clients (PKCE, no secret).

## Response `201`

Success.

- object
  - `client_id` string, required
  - `client_id_issued_at` integer, required: Unix seconds.
  - `client_name` string, required: Defaults to the first redirect URI's host.
  - `redirect_uris` string[], required
  - `client_uri` string
  - `logo_uri` string
  - `grant_types` string[], required
  - `response_types` string[], required
  - `token_endpoint_auth_method` 'none', required

## Other responses

- `400`: OAuth error body: `invalid_redirect_uri` or `invalid_client_metadata`.
- `401`: Missing, expired or revoked bearer token.
- `429`: More than 20 registrations a minute from one address.
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
