Skip to content

Look up which authentication methods exist for an email. The response shape is constant-time-ish: we always return 200 with the same body shape regardless of whether the email exists, to slow account enumeration.

GET
/auth/methods
curl --request GET \
--url 'https://api.siteqwality.com/auth/methods?email=example'
email
required
string

Auth methods (always 200 even if email unknown)

Media type application/json

What auth methods are configured for a given email. Used by the email-first login UI to branch between password, magic link, and OAuth.

object
exists
required

true if a local account exists for this email.

boolean
has_password
required

true if the account can authenticate with a password.

boolean
has_oauth_google
required

true if the account has Google OAuth linked.

boolean
has_passkey
required

true if the account has a registered WebAuthn passkey. Always false today, wired for the future passkey feature.

boolean
Example generated
{
"exists": true,
"has_password": true,
"has_oauth_google": true,
"has_passkey": true
}

Invalid email

Rate limited

Internal server error