# Authsignal - [Welcome to Authsignal Docs](https://docs.authsignal.com/getting-started/overview.md): All the guides and resources you need to get started with Authsignal. - [Set up your Authsignal account](https://docs.authsignal.com/getting-started/set-up-authsignal.md): Before you can add Authsignal to your app, you'll need to create an Authsignal account. This guide will walk you through it. - [Using Authsignal with Auth0](https://docs.authsignal.com/integrations/auth0.md): Learn how to integrate Authsignal with Auth0 to add MFA to your login flow, using methods such as Authenticator App, SMS OTP, Email OTP, and Passkeys. - [Adding adaptive MFA to Auth0](https://docs.authsignal.com/integrations/auth0-refine-mfa.md): Learn how to add adaptive MFA to your Auth0 login flow using Authsignal. - [Using an internal user ID](https://docs.authsignal.com/integrations/auth0-internal-user-id.md): Learn how to use your internal user ID when integrating Authsignal with Auth0 instead of the default Auth0 user ID. - [Auth0 Native Bridge](https://docs.authsignal.com/integrations/auth0-native-bridge.md): Learn how to use issue an Auth0 access token during authsignal flows like passkey auto-fill - [Integrating Authsignal with Amazon Cognito](https://docs.authsignal.com/integrations/aws-cognito/getting-started.md): Learn how to integrate Authsignal with Amazon Cognito to rapidly implement passwordless authentication. - [Managing authenticators when integrating Authsignal with Amazon Cognito](https://docs.authsignal.com/integrations/aws-cognito/authenticators.md): Learn how to let users enroll and manage different authenticators when integrating Authsignal with Amazon Cognito. - [Using passkeys when integrating Authsignal with Amazon Cognito](https://docs.authsignal.com/integrations/aws-cognito/passkeys.md): Learn how to use passkeys when integrating Authsignal with Amazon Cognito. - [Adding adaptive MFA to your Cognito login flow](https://docs.authsignal.com/integrations/aws-cognito/rules.md): Learn how to add adaptive MFA to your Cognito login flow using Authsignal. - [Uber app example](https://docs.authsignal.com/integrations/aws-cognito/example-app.md): Learn how to implement a sign-in UX inspired by the Uber app using SMS and email OTP, passkeys, and social login with Apple or Google. - [Using Authsignal with WSO2 Identity Platform](https://docs.authsignal.com/integrations/wso2-identity-platform.md): Learn how to add MFA to your WSO2 Identity Platform login flow with Authsignal. - [Using Authsignal for MFA with Microsoft Azure AD B2C](https://docs.authsignal.com/integrations/azure-ad-b2c/azure-ad-b2c-mfa.md): Learn how to integrate Authsignal for MFA when using Microsoft Azure AD B2C. - [Passwordless login with Microsoft Azure AD B2C](https://docs.authsignal.com/integrations/azure-ad-b2c/azure-ad-b2c-passwordless.md): Learn how to use Authsignal for passwordless login with Microsoft Azure AD B2C. - [Using Passkeys with Microsoft Azure AD B2C](https://docs.authsignal.com/integrations/azure-ad-b2c/azure-ad-b2c-passkey.md): Learn how to add passkey autofill to your Microsoft Azure AD B2C login page with Authsignal. - [Microsoft Azure AD B2C Custom Policy Snippets](https://docs.authsignal.com/integrations/azure-ad-b2c/azure-ad-b2c-snippets.md): Use Authsignal custom policy snippets to customize Microsoft Azure AD B2C flows. - [Entra ID (External Authentication Methods - EAM)](https://docs.authsignal.com/integrations/entra-id-eam.md): Use Authsignal as an external authentication method to satisfy multifactor authentication in Microsoft Entra ID. - [Adding MFA to Duende IdentityServer](https://docs.authsignal.com/integrations/identityserver/getting-started.md): Learn how to add MFA to Duende IdentityServer using Authsignal. - [Adding passkeys to Duende IdentityServer](https://docs.authsignal.com/integrations/identityserver/passkeys.md): Learn how to add passkeys to Duende IdentityServer using Authsignal. - [Adding MFA to your Keycloak login flow](https://docs.authsignal.com/integrations/keycloak/getting-started.md): Learn how to add MFA to your Keycloak login flow with Authsignal. - [Using Keycloak groups and roles in authentication rules](https://docs.authsignal.com/integrations/keycloak/keycloak-groups-roles.md): Learn how to use Keycloak groups and roles in Authsignal authentication rules. - [Federated Login with MFA](https://docs.authsignal.com/integrations/keycloak/keycloak-federated-sign-in.md): Learn how to set up federated login with SSO and Authsignal in Keycloak. - [Adding passkey MFA to your Keycloak login flow](https://docs.authsignal.com/integrations/keycloak/keycloak-passkey-signup-with-prebuilt-UI.md): Learn how to add passkey MFA to your Keycloak login flow with Authsignal. - [Adding passkey autofill to your Keycloak login flow](https://docs.authsignal.com/integrations/keycloak/keycloak-passkey-autofill.md): Learn how to add passkey autofill to your Keycloak login flow with Authsignal. - [NextAuth.js (now known as Auth.js)](https://docs.authsignal.com/integrations/nextauth-js.md): Learn how to integrate Authsignal with your Next.js app when using NextAuth. - [Ruby on Rails](https://docs.authsignal.com/integrations/ruby-on-rails.md): Learn how to use Authsignal with Ruby on Rails to implement Multi-factor Authentication and Passkeys - [ServiceNow](https://docs.authsignal.com/integrations/service-now/overview.md): Learn how to configure Authsignal Call Connect with ServiceNow for secure caller verification. - [Custom mapping](https://docs.authsignal.com/integrations/service-now/table-mapping.md): Learn how to map from custom fields on objects for Authsignal Call Connect. - [Getting started with Salesforce](https://docs.authsignal.com/integrations/salesforce/getting-started.md): Learn how to configure Authsignal Call Connect with Salesforce for secure caller verification. - [Passkeys using the Web SDK](https://docs.authsignal.com/authentication-methods/passkey/web-sdk.md): Implement passkeys in a web browser using the Authsignal Web SDK - [Passkeys using Mobile SDKs](https://docs.authsignal.com/authentication-methods/passkey/mobile-sdks.md): Implement passkeys in native mobile apps using Authsignal Mobile SDKs for Swift, Kotlin, React Native, and Flutter - [Passkeys using Authsignal's pre-built UI](https://docs.authsignal.com/authentication-methods/passkey/prebuilt-ui.md): Rapidly implement passkeys with Authsignal's pre-built UI. - [Passkeys best practice for the web](https://docs.authsignal.com/authentication-methods/passkey/best-practices-web.md): Optimize passkey user experience and conversion rates for web applications - [Passkeys best practice for native mobile apps](https://docs.authsignal.com/authentication-methods/passkey/best-practices-mobile.md): Design seamless passkey flows for iOS and Android native applications - [Push verification](https://docs.authsignal.com/authentication-methods/app-verification/push.md): Verify users by adding a secure "push" authentication method to your mobile apps. - [Configuring push notifications](https://docs.authsignal.com/authentication-methods/app-verification/managed-push.md): Let Authsignal deliver push notifications for you by connecting your APNs and FCM credentials, instead of running your own webhook. - [QR code verification](https://docs.authsignal.com/authentication-methods/app-verification/qr-code.md): Enable cross-device authentication by scanning QR codes with mobile apps. - [In-app verification](https://docs.authsignal.com/authentication-methods/app-verification/in-app.md): Verify high-risk actions in mobile apps using cryptographic device credentials. - [Attestation](https://docs.authsignal.com/authentication-methods/app-verification/attestation.md): Verify that app credentials are enrolled from legitimate apps running on real devices. - [Enrollment lifecycle](https://docs.authsignal.com/authentication-methods/app-verification/enrollment-lifecycle.md): Enroll and un-enroll users for app verification as part of your mobile app's authentication lifecycle. - [Email OTP](https://docs.authsignal.com/authentication-methods/email/otp.md): Send one-time verification codes via email for authentication and for verifying users' email addresses. - [Email magic link](https://docs.authsignal.com/authentication-methods/email/magic-link.md): Send magic links via email for authentication and for verifying users' email addresses. - [SMS OTP](https://docs.authsignal.com/authentication-methods/sms-otp.md): Send one-time verification codes via SMS for authentication and for verifying users' phone numbers. - [WhatsApp OTP](https://docs.authsignal.com/authentication-methods/whatsapp-otp.md): Send one-time verification codes via WhatsApp for authentication and for verifying users' phone numbers. - [Authenticator app (TOTP)](https://docs.authsignal.com/authentication-methods/totp.md): Use time-based codes from Google Authenticator and other TOTP apps. - [Biometric auth](https://docs.authsignal.com/authentication-methods/biometrics.md): Verify user identity using advanced biometric verification providers - [Pre-built UI](https://docs.authsignal.com/implementation-options/prebuilt-ui/overview.md): Rapidly implement web-based authentication flows using Authsignal's pre-built UI. - [Presentation modes](https://docs.authsignal.com/implementation-options/prebuilt-ui/presentation-modes.md): Learn about the Authsignal pre-built UI's different presentation modes. - [Enrolling authenticators](https://docs.authsignal.com/implementation-options/prebuilt-ui/enrolling-authenticators.md): Learn how your users can enroll new authenticators using Authsignal's pre-built UI. - [Removing authenticators](https://docs.authsignal.com/implementation-options/prebuilt-ui/removing-authenticators.md): Let users remove their authenticators via Authsignal's pre-built UI - [Branding](https://docs.authsignal.com/implementation-options/prebuilt-ui/custom-branding.md): Customize the look and feel of the pre-built UI to match your app's brand. - [Message overrides](https://docs.authsignal.com/implementation-options/prebuilt-ui/message-overrides.md): Replace the default on-screen text in the pre-built UI with your own wording. - [Localization](https://docs.authsignal.com/implementation-options/prebuilt-ui/localization.md): Configure the language and locale of the pre-built UI for your users. - [Custom domains](https://docs.authsignal.com/implementation-options/prebuilt-ui/custom-domains.md): Use your own custom domain with Authsignal's pre-built UI. - [Contextual messaging](https://docs.authsignal.com/implementation-options/prebuilt-ui/contextual-messaging.md): Add custom messaging to the pre-built UI to give your users more context. - [Opt-in consent checkbox](https://docs.authsignal.com/implementation-options/prebuilt-ui/opt-in-consent.md): Require users to check a consent checkbox before receiving an SMS during enrollment. - [Passkey uplift prompt](https://docs.authsignal.com/implementation-options/prebuilt-ui/passkey-uplift-prompt.md): Accelerate passkey adoption by prompting users to create passkeys. - [Web SDK](https://docs.authsignal.com/implementation-options/web-sdk/overview.md): Implement authentication flows in web browsers while maintaining full control over your own UI. - [Mobile SDKs](https://docs.authsignal.com/implementation-options/mobile-sdks/overview.md): Implement authentication flows in native mobile apps using Swift, Kotlin, React Native or Flutter. - [Getting started with actions](https://docs.authsignal.com/actions-rules/actions/getting-started.md): Learn how Authsignal actions enable risk-based authentication and how to implement them in your app. - [Implementing MFA](https://docs.authsignal.com/actions-rules/actions/implementing-mfa.md): Learn how to implement MFA and step-up authentication across your application using Authsignal actions. - [Passwordless login](https://docs.authsignal.com/actions-rules/actions/passwordless-login.md): Learn how to implement passwordless authentication flows using Authsignal actions. - [Restricting authenticators for an action](https://docs.authsignal.com/actions-rules/actions/restricting-authenticators.md): Learn how to restrict which authenticators a user can select to complete challenges. - [Getting started with rules](https://docs.authsignal.com/actions-rules/rules/getting-started.md): Learn how Authsignal rules enable risk-based authentication and how to implement them in your app. - [Adaptive MFA](https://docs.authsignal.com/actions-rules/rules/adaptive-mfa.md): Learn how to use rules to create adaptive, risk-based authentication that challenges users only when necessary. - [Customizing rules with custom data points](https://docs.authsignal.com/actions-rules/rules/custom-data-points.md): Learn how to create custom data points and integrate them into Authsignal rules to create intelligent, policy-driven authentication flows that respond to your unique security requirements - [Custom lists](https://docs.authsignal.com/actions-rules/rules/custom-lists.md): Create lists of information to use in rules. - [Testing rules](https://docs.authsignal.com/actions-rules/rules/testing-rules.md): Learn how to test your rules with Authsignal's test action feature. - [User management](https://docs.authsignal.com/users/user-management.md): Learn how to manage user accounts, attributes, and data in Authsignal using Server SDK - [User actions](https://docs.authsignal.com/users/user-actions.md): Learn how to track, query, and manage user actions in Authsignal - [Session management](https://docs.authsignal.com/advanced-usage/session-management.md): Learn how to use Authsignal SDKs to issue, validate, refresh and revoke access tokens. - [Custom API domains](https://docs.authsignal.com/advanced-usage/custom-api-domains.md): Learn how to use your own custom domain with Authsignal's Client API and SDKs - [Configuration as code with Terraform](https://docs.authsignal.com/advanced-usage/configuration-as-code.md): Use Authsignal's Terraform provider to manage your actions, rules, and pre-built UI configuration as code. - [Programmatically managing authenticators on behalf of users](https://docs.authsignal.com/advanced-usage/programmatic-authenticator-management.md): Learn how to automatically enroll and un-enroll users' authentication methods. - [Authenticator binding](https://docs.authsignal.com/advanced-usage/authenticator-binding.md): Ensure a strong binding between authenticators when using the pre-built UI or Client SDKs. - [Server SDKs](https://docs.authsignal.com/sdks/server/overview.md): Use Authsignal's server-side SDKs for Node.js, C#, Java, Ruby, Python, PHP, and Go. - [Server SDKs - Actions](https://docs.authsignal.com/sdks/server/actions.md): Use Authsignal's server-side SDK methods for actions. - [Server SDKs - Users](https://docs.authsignal.com/sdks/server/users.md): Use Authsignal's server-side SDK methods for users. - [Server SDKs - Authenticators](https://docs.authsignal.com/sdks/server/authenticators.md): Use Authsignal's server-side SDK methods for authenticators. - [Server SDKs - Challenges](https://docs.authsignal.com/sdks/server/challenges.md): Use Authsignal's server-side SDK methods for challenges. - [Server SDKs - Sessions](https://docs.authsignal.com/sdks/server/sessions.md): Use Authsignal's server-side SDK methods for sessions. - [Server SDKs - Error handling](https://docs.authsignal.com/sdks/server/error-handling.md): Learn how to handle errors when using Authsignal's server SDKs. - [Server SDKs - Webhooks](https://docs.authsignal.com/sdks/server/webhooks.md): Use Authsignal's server SDKs to verify webhook requests. - [Web SDK](https://docs.authsignal.com/sdks/client/web/setup.md): Learn how to use the Authsignal Web SDK. - [Passkeys](https://docs.authsignal.com/sdks/client/web/passkeys.md): Use the Web SDK to implement passkeys. - [Security key](https://docs.authsignal.com/sdks/client/web/security-key.md): Use the Web SDK to enroll and verify hardware security keys. - [Email OTP](https://docs.authsignal.com/sdks/client/web/email-otp.md): Use the Web SDK to implement email OTP authentication. - [Email magic link](https://docs.authsignal.com/sdks/client/web/email-magic-link.md): Use the Web SDK to implement email magic link authentication. - [SMS OTP](https://docs.authsignal.com/sdks/client/web/sms.md): Use the Web SDK to implement SMS authentication. - [WhatsApp OTP](https://docs.authsignal.com/sdks/client/web/whatsapp.md): Use the Web SDK to implement WhatsApp authentication. - [Authenticator app (TOTP)](https://docs.authsignal.com/sdks/client/web/totp.md): Use the Web SDK to implement authenticator app (TOTP) authentication. - [Push verification](https://docs.authsignal.com/sdks/client/web/push-verification.md): Use the Web SDK to initiate push verification challenges. - [QR code verification](https://docs.authsignal.com/sdks/client/web/qr-code-verification.md): Use the Web SDK to generate QR code challenges which can be scanned and authenticated using a mobile app. - [Actions](https://docs.authsignal.com/sdks/client/web/actions.md): Initiate actions using a Server SDK before using token-backed Web SDK methods. - [Launching the pre-built UI](https://docs.authsignal.com/sdks/client/web/prebuilt-ui.md): Use the Authsignal Web SDK to launch the pre-built UI. - [Device tracking](https://docs.authsignal.com/sdks/client/web/device-tracking.md): Use the Web SDK to remember users' devices and create rules for adaptive MFA. - [Error handling](https://docs.authsignal.com/sdks/client/web/error-handling.md): How to handle errors using the Authsignal Web SDK. - [Mobile SDKs](https://docs.authsignal.com/sdks/client/mobile/setup.md): Learn how to use the Authsignal SDKs for iOS, Android, React Native, and Flutter. - [Passkeys](https://docs.authsignal.com/sdks/client/mobile/passkeys.md): Implement passkeys in your mobile apps using the Authsignal SDKs for iOS, Android, React Native, and Flutter. - [Push verification](https://docs.authsignal.com/sdks/client/mobile/push-verification.md): Implement app verification with push notifications using the Authsignal SDKs for iOS, Android, React Native, and Flutter. - [QR code verification](https://docs.authsignal.com/sdks/client/mobile/qr-code-verification.md): Implement app verification with QR codes using the Authsignal SDKs for iOS, Android, React Native, and Flutter. - [In-app verification](https://docs.authsignal.com/sdks/client/mobile/in-app-verification.md): Implement in-app verification using the Authsignal SDKs for iOS, Android, React Native, and Flutter. - [Email OTP](https://docs.authsignal.com/sdks/client/mobile/email-otp.md): Implement email OTP in your mobile apps using the Authsignal SDKs for iOS, Android, React Native, and Flutter. - [SMS OTP](https://docs.authsignal.com/sdks/client/mobile/sms.md): Implement SMS OTP in your mobile apps using the Authsignal SDKs for iOS, Android, React Native, and Flutter. - [WhatsApp OTP](https://docs.authsignal.com/sdks/client/mobile/whatsapp.md): Implement WhatsApp OTP in your mobile apps using the Authsignal SDKs for iOS, Android, React Native, and Flutter. - [Authenticator app (TOTP)](https://docs.authsignal.com/sdks/client/mobile/totp.md): Implement authenticator app verification in your mobile apps using the Authsignal SDKs for iOS, Android, React Native, and Flutter. - [Actions](https://docs.authsignal.com/sdks/client/mobile/actions.md): Initiate actions using a Server SDK before using Mobile SDK methods for email OTP, SMS OTP, WhatsApp OTP, or authenticator app. - [Error handling](https://docs.authsignal.com/sdks/client/mobile/error-handling.md): Handle errors using the Authsignal SDKs for iOS, Android, React Native, and Flutter. - [React](https://docs.authsignal.com/sdks/client/react.md): Learn how to use the Authsignal React SDK. - [Call Connect SDK](https://docs.authsignal.com/sdks/call-connect/overview.md): Use Authsignal's Call Connect SDK for Node.js. - [Authsignal APIs](https://docs.authsignal.com/api-reference/overview.md): Get started with Authsignal APIs - [Server API - Overview](https://docs.authsignal.com/api-reference/server-api/overview.md): Learn how to integrate with Authsignal's server-side REST API for tracking events performed by users and initiating authentication challenges. - [Track Action](https://docs.authsignal.com/api-reference/server-api/track-action.md): Record authentication events performed by users and initiate challenges via Authsignal's pre-built UI or Authsignal Client SDKs. - [Validate Action](https://docs.authsignal.com/api-reference/server-api/validate-action.md): Validate the result of an action using a token obtained after redirecting back from the pre-built UI or returned by an Authsignal SDK. - [Get Action](https://docs.authsignal.com/api-reference/server-api/get-action.md): Get detailed information on a tracked action. - [Query Actions](https://docs.authsignal.com/api-reference/server-api/query-actions.md): Query actions for a user. - [Update Action](https://docs.authsignal.com/api-reference/server-api/update-action.md): Update an action. - [Get User](https://docs.authsignal.com/api-reference/server-api/get-user.md): Retrieve information about a user. - [Update User](https://docs.authsignal.com/api-reference/server-api/update-user.md): Update information about a user. Any fields which are omitted in the request will be left unchanged. - [Delete User](https://docs.authsignal.com/api-reference/server-api/delete-user.md): Permanently deletes a user and all their associated data, including all of their authenticators and actions. This operation is asynchronous and may take a few minutes to complete after the request returns. - [Query Users](https://docs.authsignal.com/api-reference/server-api/query-users.md): Query users by a set of filters. - [Enroll Verified Authenticator](https://docs.authsignal.com/api-reference/server-api/enroll-verified-authenticator.md): Enroll an authenticator on behalf of a user. This operation should only be used in cases where you have already verified a user's email address or phone number in your own system. - [Batch Enroll Verified Authenticators](https://docs.authsignal.com/api-reference/server-api/batch-enroll-verified-authenticators.md): Enroll multiple authenticators across multiple users in a single request. This endpoint is idempotent. Re-enrolling the same credential for the same user is a no-op. Each item is processed independently; failures do not affect other items in the batch. - [Get Authenticators](https://docs.authsignal.com/api-reference/server-api/get-authenticators.md): Gets a list of the user's currently enrolled authenticators. - [Delete Authenticator](https://docs.authsignal.com/api-reference/server-api/delete-authenticator.md): Delete a user's enrolled authenticator. - [Get Authenticator Configurations](https://docs.authsignal.com/api-reference/server-api/get-authenticator-configurations.md): Gets a list of the authenticators configured for the tenant. - [Initiate Challenge](https://docs.authsignal.com/api-reference/server-api/initiate-challenge.md): Initiate a challenge by sending a verification code to an email address or phone number. - [Verify Challenge](https://docs.authsignal.com/api-reference/server-api/verify-challenge.md): Verify an SMS or email-based challenge by submitting a verification code. - [Claim Challenge](https://docs.authsignal.com/api-reference/server-api/claim-challenge.md): Claim an SMS or email-based challenge on behalf of a user, associating it with an ID for a user record in your system. - [Get Challenge](https://docs.authsignal.com/api-reference/server-api/get-challenge.md): Get information about a challenge. - [Create Session](https://docs.authsignal.com/api-reference/server-api/create-session.md): Create a session for a user based on a client token obtained after successfully completing a challenge. This will return an access token and refresh token which can be used to manage a session. - [Validate Session](https://docs.authsignal.com/api-reference/server-api/validate-session.md): Validate a session for a given access token. This will ensure both that the token signature is valid and that the token has not been revoked. - [Refresh Session](https://docs.authsignal.com/api-reference/server-api/refresh-session.md): Refresh a session for a given refresh token. This will return a new access token and refresh token, revoking any previously issued tokens. - [Revoke Session](https://docs.authsignal.com/api-reference/server-api/revoke-session.md): Revoke a session for a given access token. - [Revoke User Sessions](https://docs.authsignal.com/api-reference/server-api/revoke-user-sessions.md): Revoke all sessions for a given user. - [Get Devices](https://docs.authsignal.com/api-reference/server-api/get-devices.md): Get a list of devices associated with a user. - [Update Device](https://docs.authsignal.com/api-reference/server-api/update-device.md): Update a user's device. - [Invalidate Device](https://docs.authsignal.com/api-reference/server-api/invalidate-device.md): Invalidate a user's device, treating it as if it were a new device on subsequent actions. - [Client API - Overview](https://docs.authsignal.com/api-reference/client-api/overview.md): Learn how to use the Authsignal Client API to build custom authentication flows. - [Get Authenticators](https://docs.authsignal.com/api-reference/client-api/get-authenticators.md): Get a list of the user's enrolled authenticators. - [Get Authenticator Configurations](https://docs.authsignal.com/api-reference/client-api/get-authenticator-configurations.md): Get a list of the authenticators configured for the tenant. - [Start SMS Enrollment](https://docs.authsignal.com/api-reference/client-api/start-sms-enrollment.md): Start a challenge to enroll a new SMS authenticator for a given phone number. - [Start SMS Challenge](https://docs.authsignal.com/api-reference/client-api/start-sms-challenge.md): Start a challenge when the user is already enrolled with at least one SMS authenticator. - [Verify SMS Challenge](https://docs.authsignal.com/api-reference/client-api/verify-sms-challenge.md): Verify a challenge when enrolling a new SMS authenticator or when re-authenticating with an existing SMS authenticator. - [Start WhatsApp Challenge](https://docs.authsignal.com/api-reference/client-api/start-whatsapp-challenge.md): Start a challenge by sending a WhatsApp message containing an OTP code. - [Verify WhatsApp Challenge](https://docs.authsignal.com/api-reference/client-api/verify-whatsapp-challenge.md): Verify a challenge when re-authenticating with a WhatsApp OTP authenticator. - [Start Email OTP Enrollment](https://docs.authsignal.com/api-reference/client-api/start-email-otp-enrollment.md): Start a challenge to enroll a new email OTP authenticator for a given email. - [Start Email OTP Challenge](https://docs.authsignal.com/api-reference/client-api/start-email-otp-challenge.md): Start a challenge when the user is already enrolled with at least one email OTP authenticator - [Verify Email OTP Challenge](https://docs.authsignal.com/api-reference/client-api/verify-email-otp-challenge.md): Verify a challenge when enrolling a new email OTP authenticator or when re-authenticating with an existing email OTP authenticator - [Start Email Magic Link Enrollment](https://docs.authsignal.com/api-reference/client-api/start-email-magic-link-enrollment.md): Start a challenge to enroll a new email magic link authenticator for a given email. - [Start Email Magic Link Challenge](https://docs.authsignal.com/api-reference/client-api/start-email-magic-link-challenge.md): Start a challenge when the user is already enrolled with at least one email magic link authenticator - [Finalize Email Magic Link Challenge](https://docs.authsignal.com/api-reference/client-api/finalize-email-magic-link-challenge.md): The email magic link challenge is verified when the user clicks on the link sent to their email. Use this endpoint to finalize the challenge, checking if the user has clicked on the magic link (e.g. via polling). - [Start Authenticator App Enrollment](https://docs.authsignal.com/api-reference/client-api/start-authenticator-app-enrollment.md): Enroll a new authenticator app authenticator for a user - [Verify Authenticator App Challenge](https://docs.authsignal.com/api-reference/client-api/verify-authenticator-app-challenge.md): Verify a challenge when enrolling a authenticator app authenticator or when re-authenticating with an existing authenticator app authenticator - [Overview](https://docs.authsignal.com/api-reference/client-api/passkey-overview.md) - [Generate Passkey Registration Options](https://docs.authsignal.com/api-reference/client-api/generate-passkey-registration-options.md): Generate options to register a new passkey. - [Verify Passkey Registration](https://docs.authsignal.com/api-reference/client-api/verify-passkey-registration.md): Finish the process of registering a new passkey authenticator. - [Generate Passkey Authentication Options](https://docs.authsignal.com/api-reference/client-api/generate-passkey-authentication-options.md): Generate options to authenticate with an existing passkey. - [Verify Passkey Authentication](https://docs.authsignal.com/api-reference/client-api/verify-passkey-authentication.md): Finish the process of authenticating with an existing passkey authenticator. - [Initiate Challenge](https://docs.authsignal.com/api-reference/client-api/initiate-challenge.md): Initiate a challenge for an action. Call this before Generate Authentication Options to customize the action code for passkey sign-in. - [Push API - Overview](https://docs.authsignal.com/api-reference/client-api/push-overview.md) - [Start Push Challenge](https://docs.authsignal.com/api-reference/client-api/start-push-challenge.md): Start a push challenge by sending a notification to the user's mobile device. - [Verify Push Challenge](https://docs.authsignal.com/api-reference/client-api/verify-push-challenge.md): Verify a challenge to a user's mobile device. Use this endpoint from the app which initiated the challenge to determine if the user approved or rejected the request (e.g. via polling). - [Overview](https://docs.authsignal.com/api-reference/client-api/qr-code-overview.md) - [Start QR Code Challenge](https://docs.authsignal.com/api-reference/client-api/start-qr-code-challenge.md): Start an anonymous QR code challenge to be completed by a user's mobile device. This is called an anonymous challenge because it is not associated with a user. - [Verify QR Code Challenge](https://docs.authsignal.com/api-reference/client-api/verify-qr-code-challenge.md): Verify a QR code challenge. Use this endpoint from the app which initiated the challenge to determine if the user approved or rejected the request (e.g. via polling). - [WebSocket](https://docs.authsignal.com/api-reference/client-api/qr-code-websocket.md): Real-time QR code challenge management via WebSocket connections - [iProov API - Overview](https://docs.authsignal.com/api-reference/client-api/iproov-overview.md) - [Start iProov Challenge](https://docs.authsignal.com/api-reference/client-api/start-iproov-challenge.md): Start an iProov challenge. - [Verify iProov Challenge](https://docs.authsignal.com/api-reference/client-api/verify-iproov-challenge.md): Verify a completed iProov challenge. Call this end-point after the iProov Client SDK has completed a verification flow. - [Management API - Overview](https://docs.authsignal.com/api-reference/management-api/overview.md): Configure Authsignal tenants, actions, and rules using the management API. - [Get Tenant](https://docs.authsignal.com/api-reference/management-api/get-tenant.md): Retrieves tenant information. - [Update Tenant](https://docs.authsignal.com/api-reference/management-api/update-tenant.md): Updates tenant information. - [Create Action Configuration](https://docs.authsignal.com/api-reference/management-api/create-action-configurations.md): Creates an action configuration from an action code. - [List Action Configurations](https://docs.authsignal.com/api-reference/management-api/list-action-configurations.md): Retrieves all action configurations. - [Get Action Configuration](https://docs.authsignal.com/api-reference/management-api/get-action-configurations.md): Retrieves an action configuration by action code. - [Update Action Configuration](https://docs.authsignal.com/api-reference/management-api/update-action-configurations.md): Updates an action configuration by action code. - [Delete Action Configuration](https://docs.authsignal.com/api-reference/management-api/delete-action-configurations.md): Deletes an action configuration by action code. - [Get Authenticator Configurations](https://docs.authsignal.com/api-reference/management-api/get-authenticator-configurations.md): Retrieves a list of the authenticator configurations for the tenant. - [Update Authenticator Configuration](https://docs.authsignal.com/api-reference/management-api/update-authenticator-configuration.md): Updates an authenticator configuration by authenticator ID. - [Create Rule](https://docs.authsignal.com/api-reference/management-api/create-rules.md): Creates a rule for an action configuration. - [List Rules](https://docs.authsignal.com/api-reference/management-api/list-rules.md): Retrieves rules for an action configuration. - [Get Rule](https://docs.authsignal.com/api-reference/management-api/get-rules.md): Gets a rule by action code and rule ID. - [Update Rule](https://docs.authsignal.com/api-reference/management-api/update-rules.md): Updates a rule by action code and rule ID. - [Delete Rule](https://docs.authsignal.com/api-reference/management-api/delete-rules.md): Deletes a rule by action code and rule id. - [Create Custom List](https://docs.authsignal.com/api-reference/management-api/create-custom-lists.md): Creates a custom list of values. - [List Custom Lists](https://docs.authsignal.com/api-reference/management-api/list-custom-lists.md): Retrieves all custom lists. - [Get Custom List](https://docs.authsignal.com/api-reference/management-api/get-custom-lists.md): Retrieves a custom list by its alias. - [Update Custom List](https://docs.authsignal.com/api-reference/management-api/update-custom-lists.md): Updates a custom list by its alias. - [Delete Custom List](https://docs.authsignal.com/api-reference/management-api/delete-custom-lists.md): Deletes a custom list by its alias. - [Create Custom Data Point](https://docs.authsignal.com/api-reference/management-api/create-custom-data-points.md): Creates a custom data point. - [List Custom Data Points](https://docs.authsignal.com/api-reference/management-api/list-custom-data-points.md): Retrieves all custom data points. - [Get Custom Data Point](https://docs.authsignal.com/api-reference/management-api/get-custom-data-points.md): Retrieves a custom data point by its ID. - [Update Custom Data Point](https://docs.authsignal.com/api-reference/management-api/update-custom-data-points.md): Updates a custom data point. Currently supports toggling whether its value is public. - [Delete Custom Data Point](https://docs.authsignal.com/api-reference/management-api/delete-custom-data-points.md): Deletes a custom data point by its ID. - [Get Theme](https://docs.authsignal.com/api-reference/management-api/get-theme.md): Retrieves a tenant's pre-built UI theme. - [Update Theme](https://docs.authsignal.com/api-reference/management-api/update-theme.md): Updates a tenant's pre-built UI theme. - [Get Message Overrides](https://docs.authsignal.com/api-reference/management-api/get-message-overrides.md): Retrieves a tenant's pre-built UI message overrides. - [Update Message Overrides](https://docs.authsignal.com/api-reference/management-api/update-message-overrides.md): Updates a tenant's pre-built UI message overrides. This is a full replacement: any locale or message override not present in the request is removed. Submit an empty `messageOverrides` object to clear all overrides. Values are validated against the message override catalog (known ID, allowed placehol… - [Get Message Overrides Catalog](https://docs.authsignal.com/api-reference/management-api/get-message-overrides-catalog.md): Retrieves the catalog of overridable message points, including their default copy, allowed placeholders and tags, and maximum length. Use this to discover the valid message override IDs and locales. - [Call Connect API - Overview](https://docs.authsignal.com/api-reference/call-connect-api/overview.md): Learn how to integrate with the Authsignal Call Connect API - an Authsignal service for call center customer authentication. - [Start Call Connect Session](https://docs.authsignal.com/api-reference/call-connect-api/start-call-connect.md): Start a Call Connect authentication session, triggering a user verification challenge based on the configured channels. - [Finish Call Connect Session](https://docs.authsignal.com/api-reference/call-connect-api/finish-call-connect.md): Finish an existing Call Connect authentication session. - [Terminal API - Overview](https://docs.authsignal.com/api-reference/terminal-api/overview.md): How to integrate and interact with the Authsignal Biometric Terminal service - [Create Payment Session](https://docs.authsignal.com/api-reference/terminal-api/create-payment-session.md): Initialization of a payment session will trigger a payment authorization user experience on the paired Authsignal payment terminal application. - [Get Payment Session](https://docs.authsignal.com/api-reference/terminal-api/get-payment-session.md): Poll for a payment session result using the `challengeId` obtained from creating a payment session. - [Webhooks](https://docs.authsignal.com/advanced-usage/webhooks/introduction.md): Use webhooks to receive real-time events from Authsignal and integrate with your own systems. - [Event types](https://docs.authsignal.com/advanced-usage/webhooks/event-types.md): The full list of events Authsignal can send to your webhook endpoints. - [Delivery and retries](https://docs.authsignal.com/advanced-usage/webhooks/delivery.md): How Authsignal delivers webhook events, and what happens when delivery fails. - [Verify webhook requests](https://docs.authsignal.com/advanced-usage/webhooks/verify-requests.md): Validate that incoming webhook requests really came from Authsignal. - [email.created](https://docs.authsignal.com/advanced-usage/webhooks/email-created.md): Sent when an email OTP or magic link needs to be delivered through your own email provider. - [sms.created](https://docs.authsignal.com/advanced-usage/webhooks/sms-created.md): Sent when an SMS OTP needs to be delivered through your own SMS provider. - [push.created](https://docs.authsignal.com/advanced-usage/webhooks/push-created.md): Sent when a push notification challenge needs to be delivered through your own push provider. - [authenticator.created](https://docs.authsignal.com/advanced-usage/webhooks/authenticator-created.md): Fired when a user enrolls a new authenticator. - [authenticator.updated](https://docs.authsignal.com/advanced-usage/webhooks/authenticator-updated.md): Fired when an authenticator on a user is updated. - [authenticator.deleted](https://docs.authsignal.com/advanced-usage/webhooks/authenticator-deleted.md): Fired when an authenticator is removed from a user. - [authenticator.expired](https://docs.authsignal.com/advanced-usage/webhooks/authenticator-expired.md): Fired when an authenticator expires and is removed from a user. - [action.verify](https://docs.authsignal.com/advanced-usage/webhooks/action-verify.md): Sent synchronously after a challenge is verified. The webhook response can gate the transition to CHALLENGE_SUCCEEDED. - [action.log_created](https://docs.authsignal.com/advanced-usage/webhooks/action-log-created.md): A snapshot of an action that has reached a terminal state. Sent in batches for SIEM/data lake forwarding. - [challenge.log_created](https://docs.authsignal.com/advanced-usage/webhooks/challenge-log-created.md): A record of a challenge-related event such as an OTP being sent or verified. Sent in batches for SIEM/data lake forwarding. - [Knowledge base](https://docs.authsignal.com/knowledge-base/overview.md): Practical guides for operating, testing, and troubleshooting Authsignal. - [Roles and tenant access](https://docs.authsignal.com/knowledge-base/administration/roles.md): Manage team members' roles and tenant access in the Authsignal Portal. - [Viewing user activity](https://docs.authsignal.com/knowledge-base/administration/view-user-activity.md): Learn how a customer support agent can use the Authsignal Portal to understand user activity - [Resetting a user's authenticators](https://docs.authsignal.com/knowledge-base/administration/resetting-user-authenticators.md): Learn how a customer support agent can use the Authsignal Portal to reset a user's multi-factor authenticators. - [Single sign-on (SSO)](https://docs.authsignal.com/knowledge-base/administration/single-sign-on.md): Learn how to configure SAML 2.0 single sign-on for your Authsignal admin portal. - [API testing using Postman](https://docs.authsignal.com/knowledge-base/testing/postman.md): Learn how to test Authsignal APIs using Postman. - [API testing passkeys](https://docs.authsignal.com/knowledge-base/testing/api-testing-passkeys.md): Write automated API tests that enroll a passkey and complete a passkey challenge entirely in code. - [E2E testing passkeys](https://docs.authsignal.com/knowledge-base/testing/e2e-passkeys.md): Automate end-to-end tests that enroll and authenticate with passkeys using Playwright's virtual WebAuthn authenticator. - [Verifying customers with ServiceNow](https://docs.authsignal.com/knowledge-base/call-connect/service-now.md): Learn how a ServiceNow agent uses Authsignal Call Connect to verify a customer's identity during a support interaction. - [Adaptive MFA video walk-through](https://docs.authsignal.com/knowledge-base/video-walkthroughs/adaptive-mfa.md): Video walk-through and Postman companion for adaptive MFA with Authsignal. - [FAQs](https://docs.authsignal.com/knowledge-base/faqs.md): Answers to common questions about configuring, integrating, and troubleshooting Authsignal. - [Product updates](https://docs.authsignal.com/changelog/product-updates.md): New features, updates, and changes to Authsignal. - [SDK & API updates](https://docs.authsignal.com/changelog/sdk-and-api-updates.md): Monthly updates to Authsignal SDKs and APIs. ## OpenAPI Specs - [call-connect-api](/call-connect-api.json) - [client-api](/client-api.json) - [management-api](/management-api.json) - [package](/package.json) - [server-api](/server-api.json) - [terminal-api](/terminal-api.json) ## AsyncAPI Specs - [challenge-websocket](/challenge-websocket.json)