---
title: "Dynamic Client Registration (RFC 7591)"
method: POST
path: "/api/oauth/register"
tags: ["OAuth"]
---

# Dynamic Client Registration (RFC 7591)

`POST /api/oauth/register`

## Request

- Base URL: `https://www.poster.ly`
- URL: `https://www.poster.ly/api/oauth/register`
- Auth: none required

Open registration endpoint for hosted MCP clients (Claude.ai, ChatGPT, and similar) that need a `client_id` without manual allowlisting. All registered clients are public PKCE clients; no `client_secret` is issued. Rate-limited per IP.

## Request body

- object
  - `client_name` string, required
  - `redirect_uris` string[], required
  - `grant_types` string[]
  - `response_types` string[]
  - `scope` string: Space-separated list of requested scopes.
  - `token_endpoint_auth_method` 'none'
  - `client_uri` string, uri
  - `logo_uri` string, uri
  - `tos_uri` string, uri
  - `policy_uri` string, uri
  - `software_id` string
  - `software_version` string
  - `contacts` string[]

## Response `201`

Client registered successfully

- object
  - `client_id` string
  - `client_id_issued_at` integer
  - `client_name` string
  - `redirect_uris` string[]
  - `grant_types` string[]
  - `response_types` string[]
  - `token_endpoint_auth_method` 'none'
  - `scope` string

## Other responses

- `400`: Invalid client metadata
- `429`: Too many registration attempts

---

[API](https://skmtc.dev/poster/apis/posterly-api.md) · [All operations](https://skmtc.dev/poster/apis/posterly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/poster/apis/posterly-api/revisions/60be02a61f95?raw)
