v1

OpenAPI 3.1.02026-07-13632897.9 KB
oauth-provider
oauth-provider

Register Endpoint

OAuth 2.1 dynamic client registration endpoint.

Registers a new OAuth client and returns credentials.

Routes: /oauth/focused/register: Focused app clients (defaults to focused.* scopes) /oauth/pg/register: Priority Guardian clients (defaults to pg.access) /oauth/mindsort/register: MindSort AI clients (defaults to clarity.write)

Request Body: client_name: Human-readable client name redirect_uris: Array of allowed redirect URIs (must use HTTPS) grant_types: Optional array of allowed grant types (default: authorization_code, refresh_token) scope: Optional space-separated scopes (defaults per route if omitted)

Returns: client_id: Generated client identifier (pg-client-{uuid}) client_secret: Generated client secret (32-byte URL-safe token) redirect_uris: Registered redirect URIs scope: Allowed scopes

Security Notes: - client_secret is only returned once (never stored in plain text) - Client must store client_secret securely - redirect_uris must be in allowlist (RFC 9728 B2-8): - https://chatgpt.com/connector_platform_oauth_redirect - https://platform.openai.com/apps-manage/oauth - (localhost URIs allowed in dev mode only) - Rate limited to prevent abuse - Least privilege: each route has minimal default scopes

Example Response: { "client_id": "pg-client-12345678-1234-1234-1234-123456789abc", "client_secret": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk", "redirect_uris": ["https://chat.openai.com/aip/callback"], "scope": "pg.access" }

post/oauth/mindsort/register

Request body

client_namestring required
redirect_urisstring[] required
grant_typesstring[] nullable
scopestring nullable

Response

Successful Response

{"stackTrail":"paths:/oauth/mindsort/register:post:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}