Skip to content

List public login authentication methods.

GET
/api/auth/authentication-methods
Code sample: Shell / cURL
curl --request GET \
--url https://auth.example.com/api/auth/authentication-methods

Returns the enabled login methods and Login UI configuration for the current tenant, including passkey, email code, TOTP, directory password, human verification, SAML, and external provider options when configured. methods.guest contains enabled (boolean) and deletionAfterDays (integer or null). Guest login is advertised only when the tenant and the requested client both explicitly permit it; without client_id it is disabled. deletionAfterDays describes retention for newly created guests, not the actual deletion date of an existing account. If guest settings are unavailable, guest login is omitted from available choices while other authentication methods retain their existing fallback behavior.

client_id
string

Optional OAuth client id used to resolve client-level Login UI theme overrides.

Successful JSON response.

Media type application/json
object
methods
required
object
passkey
object
key
additional properties
emailCode
object
key
additional properties
totp
object
key
additional properties
directoryPassword
object
key
additional properties
humanVerification

Human verification (CAPTCHA) for the tenant. required / requiredFor say what the tenant’s settings ask for; available / reason say whether the provider can verify a token. A flow in requiredFor while available is false cannot be completed (the servers refuse it), so a client must say so instead of showing no widget.

object
enabled

The widget is shown for at least one flow.

boolean
provider
string
siteKey
string
nullable
loginEnabled

The widget is shown on the login screen.

boolean
signupEnabled
boolean
reauthEnabled
boolean
required

At least one flow’s settings ask for human verification.

boolean
requiredFor

Per flow, whether the settings ask for human verification.

object
login
boolean
signup
boolean
reauth
boolean
available

The provider can verify a token (its plugin is enabled and its configuration is one the runner accepts: both keys within their length limits, a well-formed hostname, a supported widget mode). A provider that was never enabled is not available.

boolean
reason

Why the flows cannot be completed; null when the provider is available. settings_unreadable means the tenant’s settings cannot be read, so the servers refuse every attempt; every flow is then reported as required.

string
nullable
Allowed values: provider_disabled provider_unconfigured settings_unreadable
key
additional properties
external
object
key
additional properties
key
additional properties
ui
required
object
supportedLocales
required
Array<string>
>= 1 items unique items
Allowed values: en ja zh-CN zh-TW es pt fr de ko ru id ar it th vi hi bn tr sw am pl
defaultLocale
required

Fallback locale. The value is always included in supportedLocales.

string
Allowed values: en ja zh-CN zh-TW es pt fr de ko ru id ar it th vi hi bn tr sw am pl
primaryLocales
required

Effective primary locales displayed before regional groups when at least 11 locales are enabled. An empty array means no primary locales are displayed.

Array<string>
<= 6 items unique items
Allowed values: en ja zh-CN zh-TW es pt fr de ko ru id ar it th vi hi bn tr sw am pl
showEnglishLanguageNames
required

Display English names alongside native names in the language selector.

boolean
appearance
object
headerText

Legacy common tagline override used when no locale-specific value exists.

string | null
textLocalizations

Locale-specific Login UI text overrides keyed by supported locale code.

object
key
additional properties
object
tagline
string
brandPanelTitle
string
brandPanelText
string
footerText
string
loginTitle

Primary heading override for the login page.

string
registrationTitle

Primary heading override for the registration page.

string
accountTitle

Primary heading override for the account page.

string
key
additional properties
key
additional properties
key
additional properties
meta
required
object
cacheTTL
required
integer
revision
required
string format: date-time
Example
{
"methods": {
"passkey": {
"enabled": true,
"loginEnabled": true,
"signupEnabled": true,
"capabilities": [
"conditional",
"discoverable"
]
},
"emailCode": {
"enabled": true,
"steps": [
"email",
"code"
]
},
"totp": {
"enabled": false,
"loginEnabled": false,
"signupEnabled": false,
"reauthEnabled": false,
"accountLinkEnabled": false
},
"external": {
"enabled": false,
"providers": []
}
},
"ui": {
"theme": "light",
"supportedLocales": [
"en",
"ja"
],
"defaultLocale": "en",
"primaryLocales": [
"en",
"ja"
],
"showEnglishLanguageNames": false,
"branding": {
"brandName": "Authrim"
}
},
"meta": {
"cacheTTL": 60,
"revision": "2026-06-19T00:00:00.000Z"
}
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}