Register a new OAuth 2.0 client dynamically with Stytch. This endpoint allows client applications to register themselves without requiring manual configuration through the Dashboard. This endpoint uses your Custom Domain.
This feature must be enabled at the project level in the Connected Apps section of the Dashboard.
This endpoint creates a Third-Party Public or Third-Party Confidential Connected App client, depending on the authentication method specified. Public clients with identical metadata may return the same client ID (see Client Deduplication below), while confidential clients always receive a unique client ID.
No authorization is needed for this endpoint.
This endpoint implements the OpenID Connect Dynamic Client Registration specification and is compatible with the OAuth 2.0 Dynamic Client Registration specification.
Client Deduplication
To prevent duplicate public clients, Stytch computes a hash of the submitted client metadata. If the metadata matches an existing public client exactly, the same client ID is returned instead of creating a new one. This ensures that multiple instances of the same application (like MCP clients) can be administered as a single client identity.
Deduplication only applies to public clients (those using token_endpoint_auth_method: "none"). Confidential clients always receive a unique client ID and client secret.
Client Types and Authentication
Both third_party_public and third_party_confidential clients can be created through dynamic registration:
third_party_public: Set token_endpoint_auth_method to none. These clients do not receive a client secret and must use PKCE for all authorization flows.
third_party_confidential: Set token_endpoint_auth_method to client_secret_post or client_secret_basic. These clients receive a client secret for authentication.
All dynamically registered clients will have:
grant_types: ["authorization_code", "refresh_token"]
response_types: ["code"]
Body
Array of redirect URI values for use in OAuth Authorization flows.
A human-readable name for the client.
URL of the home page of the Client.
token_endpoint_auth_method
Authentication method used by the client for the token endpoint. Must be one of none, client_secret_post, or client_secret_basic.
Response
The ID of the Connected App client.
URL of the home page of the Client.
A human-readable name for the client.
Array of OAuth 2.0 grant types that the client may use.
Array of redirect URI values for use in OAuth Authorization flows.
Array of OAuth 2.0 response types that the client may use.
token_endpoint_auth_method
Authentication method used by the client for the token endpoint. Must be one of none, client_secret_post, or client_secret_basic.
Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we
may ask for this value to help identify a specific API call when helping you debug an issue.
The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values
equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server errors.