Contents
User authentication and management
List hosted auth templates for an account. More
Responses
Create a reusable hosted auth template for an account. More
Bodyapplication/json
Responses
Search hosted auth templates for an account using Lucene syntax. More
Bodyapplication/json
Responses
Delete one hosted auth screen binding. More
Responses
Get one hosted auth screen binding by ID. More
Responses
Update one hosted auth screen binding. More
Bodyapplication/json
Responses
Get the public auth authority configuration for an application. More
Responses
Update the hosted auth configuration for an application authority. More
Bodyapplication/json
Responses
List hosted auth screen bindings for an application authority. More
Responses
Bind one hosted auth screen type to one auth template for an application authority. More
Bodyapplication/json
Responses
Search hosted auth screen bindings for an application authority using Lucene syntax. More
Bodyapplication/json
Responses
List the public signing keys for an application authority. More
Responses
Generate a new signing key pair for an application authority. More
Bodyapplication/json
Responses
Delete one application authority signing key by kid. More
Responses
Delete a hosted auth template. More
Responses
Get a hosted auth template by ID. More
Responses
Update a hosted auth template. More
Bodyapplication/json
Responses
Provider-first OAuth authorize entrypoint. Internally forwards to /oauth2/authorize with the provider connection set. More
Responses
Provider-first OAuth callback entrypoint. Internally forwards to /oauth2/callback/:provider. More
Responses
Accept an invite to join an account using an invite token. Returns a login response if successful.
Users should receive a url either via email or other means with a unique token param such that following the link accepts the invite.
The invite token stores the client identity used to create the accepted session, so callers should only send the invite token.
An invite is a one-time login, so the client is expected to either present a set password flow, or use email magic links/SSO from then on. More
Responses
Check if an email exists and which login methods are available. Used for multi-step login flows to determine next steps. Send client_id in the JSON request body on every call; hostname-only client resolution is no longer supported for this endpoint. More
Headers
Bodyapplication/json
Responses
Initialize a CSRF session cookie. Sets an HttpOnly, Secure, SameSite=Strict cookie used for CSRF token generation. Returns a JavaScript snippet for auto-fetching the token. More
Responses
Generate a CSRF token for the current session. Used to protect against Cross-Site Request Forgery attacks. Send in the X-CSRF-Token header of state-changing requests. More
Responses
Return currently available login methods for a client. Includes OAuth provider authorize/callback endpoints and password/magic-link submit URLs. Send client_id in the JSON request body; this endpoint no longer resolves the client from hostname alone. More
Headers
Bodyapplication/json
Responses
Get the current authenticated user’s profile. Returns user info, email credentials, account memberships, and the active membership selected by the authenticated token’s acc claim. More
Responses
Exchange a refresh token for a new access token and refresh token.
You can use this endpoint in two ways:
- JSON body (direct API calls)
- Send
refresh_tokenin the JSON request body. - This is the usual choice for server-side code or scripts that call the HTTP API directly.
- Cookie-based session (browser or SDK clients)
- Send the request with credentials/cookies.
- If
refresh_tokenis not present in the JSON body, the server will try to read the refresh token from the configured refresh-token cookie (the default cookie name isrefresh_token) by deriving the client from the refresh token’s stored JWTcidclaim.
Cookie-based refresh only works when the browser can send cookies to the auth service. In practice this means:
- The auth service is exposed on the same domain as your application, or
- Your application calls the auth service through a reverse proxy so that the browser sees a matching domain.
When the request uses cookies and the refresh succeeds, the server also updates the HTTP-only cookies with the new tokens.
Refresh preserves the existing subject and authorization claims. The token timestamps are renewed, and the iss
claim is recalculated from the current application authority hostname. This endpoint derives the client from the refresh token and does not accept client_id.
Bodyapplication/json
Responses
Reset a user’s password using a token from the password reset email. Requires a strong password meeting complexity requirements. The reset token carries the stored client identity, so callers should only send the token and the new password. More
Bodyapplication/json
Responses
Send an email verification link to confirm ownership of an email address. Requires authentication. More
Headers
Bodyapplication/json
Responses
Send a one-time passwordless login link to the user’s email. The link authenticates the user when clicked. Send client_id in the JSON request body; this endpoint no longer infers the client from the request hostname. More
Headers
Bodyapplication/json
Responses
Send a password reset link to the user’s email. The link allows setting a new password when clicked. Send client_id in the JSON request body; this endpoint no longer infers the client from the request hostname. More
Headers
Bodyapplication/json
Responses
Authenticate a user with email and password. Returns access tokens, refresh tokens, and the user’s profile on success. Send client_id in the JSON request body; this endpoint no longer infers the client from the request hostname. More
Headers
Bodyapplication/json
Responses
Sign in a user using a one-time login token (e.g., from magic links, invite emails, or OTP flows). This endpoint is designed for direct navigation via emailed links, hence the GET method and query parameter.
The token is single-use, short-lived, and invalidated upon successful consumption. For security, ensure links are delivered over encrypted channels and include CSRF protections in redirect flows if applicable.
Unlike credential-based sign-in (POST /auth/sign-in), this endpoint does not require authentication headers and returns an AuthenticationResult on success, enabling immediate session establishment.
Headers
Responses
Register a new user with email and password. Creates a user, account, and returns authentication tokens on success. Send client_id in the JSON request body; this endpoint no longer infers the client from the request hostname. More
Headers
Bodyapplication/json
Responses
Switch the authenticated user session into another account they belong to. Returns a fresh auth session response with tokens and profile, where the active membership matches the requested account_id. This endpoint derives the client from the authenticated session and does not accept client_id. When called with cookies, it requires a CSRF token and allowed Origin. More
Headers
Bodyapplication/json
Responses
Verify a user’s email address using a verification token sent via email. Marks the email as verified on success. More
Responses
List the current user’s waitlist signups in the token account context. More
Responses
Idempotently remove the current user from a waitlist feature in the token account context. More
Responses
Check whether the current user is signed up for a waitlist feature in the token account context. More
Responses
Idempotently sign up the current user for a waitlist feature in the token account context. More