Identity Provider

Dynamic client registration (RFC 7591)

Registers a relying party that may request owner_email, org and offline_access. Unlike the MCP OAuth server's /oauth/register, this endpoint requires a Dead Simple API key (Authorization: Bearer dse_...) with the api_keys.create permission: trial keys from agent self-signup and MCP OAuth tokens are refused, so an anonymous party cannot mint a client that sees owner data. The client_secret is shown once. The same registration with the standard API envelope is available at POST /v1/identity/clients.

post/register

Request

  • Base URL: https://id.deadsimple.email
  • URL: https://id.deadsimple.email/register
  • Auth: HTTP bearer

Request body

client_namestring
client_uristring
logo_uristring
policy_uristring
tos_uristring
redirect_urisstring[] required

https, loopback http, or app-scheme URLs.

scopestring

Any of openid, email, profile, owner_email, org, offline_access. openid is always included.

token_endpoint_auth_method'none' | 'client_secret_basic' | 'client_secret_post'

Response

client_id (dse_idc_) and, unless token_endpoint_auth_method is none, client_secret (dse_ics_).

client_idstring
client_namestring
client_uristring
logo_uristring
redirect_urisstring[]
token_endpoint_auth_method'none' | 'client_secret_basic' | 'client_secret_post'
scopestring

Space-separated scopes the client may request.

grant_typesstring[]
response_typesstring[]
created_atstring date-time
client_secretstring

dse_ics_ secret. Shown once; stored hashed. Absent when token_endpoint_auth_method is none.

client_secret_expires_atinteger

0 means the secret does not expire.

client_id_issued_atinteger
warningstring
issuerstring
discovery_urlstring

Example response

{
  "client_id": "dse_idc_3f9a1c77b2e04d5a6b8c",
  "issuer": "https://id.deadsimple.email",
  "discovery_url": "https://id.deadsimple.email/.well-known/openid-configuration"
}

Changes

No recorded changes to this operation across all 1 revision of this API.