ProudAuthDocs

Discovery

Public metadata: OpenID configuration, RFC 8414 metadata and JWKS. 3 operations

Expand an endpoint for authentication, parameters, request fields and responses.

GET/realms/{realm}/.well-known/openid-configuration+

OpenID Provider metadata

Canonical issuer metadata for the realm. Cacheable for 300 seconds.

AuthenticationPublic / endpoint-specific credentialsTrust classpublic-metadataPermissionsSee operation description

Parameters

NameLocationRequiredDetails
realmpathYesRealm name (path-based issuer). Unknown realms return 404.
{"type":"string"}
X-Request-Idheader—Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.
{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"}

Responses

200 OK

application/json

FieldTypeRequiredDescription
issuerstringYes
authorization_endpointstringYes
token_endpointstringYes
jwks_uristringYes
userinfo_endpointstring—
introspection_endpointstring—
revocation_endpointstring—
end_session_endpointstring—
device_authorization_endpointstring—
pushed_authorization_request_endpointstring—
registration_endpointstring—
check_session_iframestring—OpenID Connect Session Management 1.0 (OIDC-014); present only when the realm turned it on.
response_types_supportedarrayYes
response_modes_supportedarray—
grant_types_supportedarray—
subject_types_supportedarrayYes
id_token_signing_alg_values_supportedarrayYes
userinfo_signing_alg_values_supportedarray—
token_endpoint_auth_methods_supportedarray—
token_endpoint_auth_signing_alg_values_supportedarray—
introspection_endpoint_auth_methods_supportedarray—
revocation_endpoint_auth_methods_supportedarray—
code_challenge_methods_supportedarray—
scopes_supportedarray—
claims_supportedarray—
claims_parameter_supportedboolean—
request_parameter_supportedboolean—
request_uri_parameter_supportedboolean—
require_request_uri_registrationboolean—
require_pushed_authorization_requestsboolean—
prompt_values_supportedarray—
acr_values_supportedarray—
authorization_response_iss_parameter_supportedboolean—
authorization_signing_alg_values_supportedarray—JARM (ADV-002): algorithms of the published signing keys.
authorization_encryption_alg_values_supportedarray—JARM response encryption: RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A256KW.
authorization_encryption_enc_values_supportedarray—JARM content encryption: A128GCM, A256GCM.
id_token_encryption_alg_values_supportedarray—TOK-020: RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A256KW.
id_token_encryption_enc_values_supportedarray—A128GCM, A256GCM.
userinfo_encryption_alg_values_supportedarray—OIDC-013: RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A256KW.
userinfo_encryption_enc_values_supportedarray—A128GCM, A256GCM.
tls_client_certificate_bound_access_tokensboolean—true when client certificates reach the server (server.mtls_listen or server.client_cert_header; RFC 8705, TOK-019); false otherwise.
mtls_endpoint_aliasesobject—RFC 8705 §5: the mutual-TLS listener's endpoints, present only when server.mtls_origin is set. pushed_authorization_request_endpoint and device_authorization_endpoint appear with those capabilities.
frontchannel_logout_supportedboolean—OIDC Front-Channel Logout 1.0 (SES-018): true with the logout endpoint.
frontchannel_logout_session_supportedboolean—true with the logout endpoint: iss and sid are added to the front-channel logout URI when the client asks for them.
backchannel_logout_supportedboolean—
backchannel_logout_session_supportedboolean—
dpop_signing_alg_values_supportedarray—
service_documentationstring—

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  },
  "Cache-Control": {
    "schema": {
      "type": "string"
    },
    "description": "public, max-age=300"
  }
}
404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).

application/problem+json

FieldTypeRequiredDescription
typestringYeshttps://auth.proudbase.com/problems/{code}
titlestringYes
statusintegerYes
codestringYesStable machine-readable error code.
invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable
detailstring—Client-safe detail; never contains secrets.
errorsobject—Field name -> validation message.
request_idstring—Correlation identifier, equal to the X-Request-Id response header.
obligationsarray—Present on step-up / recent-authentication / MFA problems.
original_statusinteger—Present when an idempotent replay is refused because the original response carried a one-time secret.

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  }
}
500 Unexpected error (code internal_error); no stack traces or secrets.

application/problem+json

FieldTypeRequiredDescription
typestringYeshttps://auth.proudbase.com/problems/{code}
titlestringYes
statusintegerYes
codestringYesStable machine-readable error code.
invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable
detailstring—Client-safe detail; never contains secrets.
errorsobject—Field name -> validation message.
request_idstring—Correlation identifier, equal to the X-Request-Id response header.
obligationsarray—Present on step-up / recent-authentication / MFA problems.
original_statusinteger—Present when an idempotent replay is refused because the original response carried a one-time secret.

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  }
}
503 Load shedding, realm unavailable or dependency failure (code unavailable, upstream_unavailable). May include Retry-After.

application/problem+json

FieldTypeRequiredDescription
typestringYeshttps://auth.proudbase.com/problems/{code}
titlestringYes
statusintegerYes
codestringYesStable machine-readable error code.
invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable
detailstring—Client-safe detail; never contains secrets.
errorsobject—Field name -> validation message.
request_idstring—Correlation identifier, equal to the X-Request-Id response header.
obligationsarray—Present on step-up / recent-authentication / MFA problems.
original_statusinteger—Present when an idempotent replay is refused because the original response carried a one-time secret.

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  },
  "Retry-After": {
    "$ref": "#/components/headers/Retry-After"
  }
}

Operation getOpenIDConfiguration · Schema definitions · OpenAPI contract

GET/.well-known/oauth-authorization-server/realms/{realm}+

OAuth 2.0 authorization server metadata (RFC 8414)

RFC 8414 location for the path-based issuer; same document as the OpenID configuration.

AuthenticationPublic / endpoint-specific credentialsTrust classpublic-metadataPermissionsSee operation description

Parameters

NameLocationRequiredDetails
realmpathYesRealm name (path-based issuer). Unknown realms return 404.
{"type":"string"}
X-Request-Idheader—Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.
{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"}

Responses

200 OK

application/json

FieldTypeRequiredDescription
issuerstringYes
authorization_endpointstringYes
token_endpointstringYes
jwks_uristringYes
userinfo_endpointstring—
introspection_endpointstring—
revocation_endpointstring—
end_session_endpointstring—
device_authorization_endpointstring—
pushed_authorization_request_endpointstring—
registration_endpointstring—
check_session_iframestring—OpenID Connect Session Management 1.0 (OIDC-014); present only when the realm turned it on.
response_types_supportedarrayYes
response_modes_supportedarray—
grant_types_supportedarray—
subject_types_supportedarrayYes
id_token_signing_alg_values_supportedarrayYes
userinfo_signing_alg_values_supportedarray—
token_endpoint_auth_methods_supportedarray—
token_endpoint_auth_signing_alg_values_supportedarray—
introspection_endpoint_auth_methods_supportedarray—
revocation_endpoint_auth_methods_supportedarray—
code_challenge_methods_supportedarray—
scopes_supportedarray—
claims_supportedarray—
claims_parameter_supportedboolean—
request_parameter_supportedboolean—
request_uri_parameter_supportedboolean—
require_request_uri_registrationboolean—
require_pushed_authorization_requestsboolean—
prompt_values_supportedarray—
acr_values_supportedarray—
authorization_response_iss_parameter_supportedboolean—
authorization_signing_alg_values_supportedarray—JARM (ADV-002): algorithms of the published signing keys.
authorization_encryption_alg_values_supportedarray—JARM response encryption: RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A256KW.
authorization_encryption_enc_values_supportedarray—JARM content encryption: A128GCM, A256GCM.
id_token_encryption_alg_values_supportedarray—TOK-020: RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A256KW.
id_token_encryption_enc_values_supportedarray—A128GCM, A256GCM.
userinfo_encryption_alg_values_supportedarray—OIDC-013: RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A256KW.
userinfo_encryption_enc_values_supportedarray—A128GCM, A256GCM.
tls_client_certificate_bound_access_tokensboolean—true when client certificates reach the server (server.mtls_listen or server.client_cert_header; RFC 8705, TOK-019); false otherwise.
mtls_endpoint_aliasesobject—RFC 8705 §5: the mutual-TLS listener's endpoints, present only when server.mtls_origin is set. pushed_authorization_request_endpoint and device_authorization_endpoint appear with those capabilities.
frontchannel_logout_supportedboolean—OIDC Front-Channel Logout 1.0 (SES-018): true with the logout endpoint.
frontchannel_logout_session_supportedboolean—true with the logout endpoint: iss and sid are added to the front-channel logout URI when the client asks for them.
backchannel_logout_supportedboolean—
backchannel_logout_session_supportedboolean—
dpop_signing_alg_values_supportedarray—
service_documentationstring—

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  },
  "Cache-Control": {
    "schema": {
      "type": "string"
    },
    "description": "public, max-age=300"
  }
}
404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).

application/problem+json

FieldTypeRequiredDescription
typestringYeshttps://auth.proudbase.com/problems/{code}
titlestringYes
statusintegerYes
codestringYesStable machine-readable error code.
invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable
detailstring—Client-safe detail; never contains secrets.
errorsobject—Field name -> validation message.
request_idstring—Correlation identifier, equal to the X-Request-Id response header.
obligationsarray—Present on step-up / recent-authentication / MFA problems.
original_statusinteger—Present when an idempotent replay is refused because the original response carried a one-time secret.

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  }
}
500 Unexpected error (code internal_error); no stack traces or secrets.

application/problem+json

FieldTypeRequiredDescription
typestringYeshttps://auth.proudbase.com/problems/{code}
titlestringYes
statusintegerYes
codestringYesStable machine-readable error code.
invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable
detailstring—Client-safe detail; never contains secrets.
errorsobject—Field name -> validation message.
request_idstring—Correlation identifier, equal to the X-Request-Id response header.
obligationsarray—Present on step-up / recent-authentication / MFA problems.
original_statusinteger—Present when an idempotent replay is refused because the original response carried a one-time secret.

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  }
}
503 Load shedding, realm unavailable or dependency failure (code unavailable, upstream_unavailable). May include Retry-After.

application/problem+json

FieldTypeRequiredDescription
typestringYeshttps://auth.proudbase.com/problems/{code}
titlestringYes
statusintegerYes
codestringYesStable machine-readable error code.
invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable
detailstring—Client-safe detail; never contains secrets.
errorsobject—Field name -> validation message.
request_idstring—Correlation identifier, equal to the X-Request-Id response header.
obligationsarray—Present on step-up / recent-authentication / MFA problems.
original_statusinteger—Present when an idempotent replay is refused because the original response carried a one-time secret.

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  },
  "Retry-After": {
    "$ref": "#/components/headers/Retry-After"
  }
}

Operation getOAuthServerMetadata · Schema definitions · OpenAPI contract

GET/realms/{realm}/jwks+

Public verification keys

AuthenticationPublic / endpoint-specific credentialsTrust classpublic-metadataPermissionsSee operation description

Parameters

NameLocationRequiredDetails
realmpathYesRealm name (path-based issuer). Unknown realms return 404.
{"type":"string"}
X-Request-Idheader—Optional caller-supplied correlation ID (printable ASCII, at most 64 characters); otherwise generated. Echoed in X-Request-Id and problem request_id.
{"type":"string","maxLength":64,"pattern":"^[\\x21-\\x7e]+$"}

Responses

200 OK

application/jwk-set+json

FieldTypeRequiredDescription
keysarrayYes

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  },
  "Cache-Control": {
    "schema": {
      "type": "string"
    },
    "description": "public, max-age=300"
  }
}
404 Unknown realm or resource, or existence concealed from the caller (code not_found, feature_disabled).

application/problem+json

FieldTypeRequiredDescription
typestringYeshttps://auth.proudbase.com/problems/{code}
titlestringYes
statusintegerYes
codestringYesStable machine-readable error code.
invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable
detailstring—Client-safe detail; never contains secrets.
errorsobject—Field name -> validation message.
request_idstring—Correlation identifier, equal to the X-Request-Id response header.
obligationsarray—Present on step-up / recent-authentication / MFA problems.
original_statusinteger—Present when an idempotent replay is refused because the original response carried a one-time secret.

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  }
}
500 Unexpected error (code internal_error); no stack traces or secrets.

application/problem+json

FieldTypeRequiredDescription
typestringYeshttps://auth.proudbase.com/problems/{code}
titlestringYes
statusintegerYes
codestringYesStable machine-readable error code.
invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable
detailstring—Client-safe detail; never contains secrets.
errorsobject—Field name -> validation message.
request_idstring—Correlation identifier, equal to the X-Request-Id response header.
obligationsarray—Present on step-up / recent-authentication / MFA problems.
original_statusinteger—Present when an idempotent replay is refused because the original response carried a one-time secret.

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  }
}
503 Load shedding, realm unavailable or dependency failure (code unavailable, upstream_unavailable). May include Retry-After.

application/problem+json

FieldTypeRequiredDescription
typestringYeshttps://auth.proudbase.com/problems/{code}
titlestringYes
statusintegerYes
codestringYesStable machine-readable error code.
invalid_request | validation_failed | unauthenticated | forbidden | not_found | conflict | precondition_failed | precondition_required | rate_limited | unavailable | internal_error | payload_too_large | unsupported_media_type | step_up_required | recent_authentication_required | mfa_required | recovery_restricted | transaction_invalid | transaction_expired | invalid_credentials | invalid_proof | unexpected_step | password_policy | last_owner | grant_ceiling_exceeded | impersonation_denied | impersonation_restricted | feature_disabled | invitation_invalid | last_sign_in_method | idempotency_key_reused | account_unavailable | sso_required | upstream_unavailable
detailstring—Client-safe detail; never contains secrets.
errorsobject—Field name -> validation message.
request_idstring—Correlation identifier, equal to the X-Request-Id response header.
obligationsarray—Present on step-up / recent-authentication / MFA problems.
original_statusinteger—Present when an idempotent replay is refused because the original response carried a one-time secret.

Response headers

{
  "X-Request-Id": {
    "$ref": "#/components/headers/X-Request-Id"
  },
  "Retry-After": {
    "$ref": "#/components/headers/Retry-After"
  }
}

Operation getJWKS · Schema definitions · OpenAPI contract

ProudAuth · Self-hosted identityBuilt 2026-10-13 · d9cc813ae809 · content snapshot
⌕

Search all guides and the API contract.

↑ ↓ to navigate Enter to open · Esc to close