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

# Dynamic Client Registration (RFC 7591)

`POST /register`

## Request

- Base URL: `https://passport.me`
- URL: `https://passport.me/register`
- Auth: none required

Register an OAuth client. Redirects must be a vetted AI-client host, loopback, or a Chrome extension. Clients with a `chromiumapp.org` redirect outside the `PASSPORT_CHROME_EXTENSION_IDS` allowlist land in `approval_status=pending`; pending and rejected clients cannot complete authorization.

## Request body

- object
  - `redirect_uris` string[], required: Array of redirect URIs. At least one required.
  - `client_name` string
  - `token_endpoint_auth_method` 'none': Public clients only.
  - `grant_types` string[]

## Response `200`

Client registered

- object
  - `client_id` string
  - `client_id_issued_at` integer
  - `redirect_uris` string[]
  - `token_endpoint_auth_method` string
  - `grant_types` string[]
  - `response_types` string[]

## Other responses

- `400`: Invalid request payload.
- `429`: Rate-limited.

---

[API](https://skmtc.dev/passport-me/apis/passport-me-api.md) · [All operations](https://skmtc.dev/passport-me/apis/passport-me-api/llms.txt) · [OpenAPI document](https://skmtc.dev/passport-me/apis/passport-me-api/revisions/c0081754a2dc?raw)
