Authentication and Identity Management

Frontegg offers a comprehensive suite of authentication, user management, and security features to streamline identity management and enhance application security. This section provides an overview of all relevant API endpoints, organized into Authentication, Management, and Self-Service categories.

Authentication Endpoints: Enable secure user login, multi-factor authentication (MFA), passwordless options, and social login integrations, allowing for a flexible and robust sign-in experience.

Management Endpoints: Require environment-level authorization and provide full control over SSO (SAML and OpenID Connect) resources, user roles, permissions, and configurations. These endpoints are designed for administrative use, allowing for centralized identity and access management.

Self-Service Endpoints: Accessible with a user token (JWT), these endpoints empower users to manage their SSO connections and other account settings. Users with the necessary permissions can create, update, or delete SSO configurations directly, ensuring they have the tools to manage their access securely and independently.

Each category in this section helps you configure and extend Frontegg’s capabilities, providing the flexibility to manage user identities, authentication protocols, and access controls as per your application’s needs.

Languages
Servers
EU Region
https://api.frontegg.com/identity/
US Region
https://api.us.frontegg.com/identity/
CA Region
https://api.ca.frontegg.com/identity/
AU Region
https://api.au.frontegg.com/identity/
Frontegg sub-domain for use with user tokens
https://{domain}.frontegg.com/identity/

API token

Operations

General

Operations

MFA

Operations

Passwordless

Operations

SMS

Operations

Account invitations settings

Operations

Core settings

Operations

Custom social OAuth provider

Operations

Data migration

Operations

Delegation

Operations

Email configuration

Operations

Email templates

Operations

M2M tokens

Operations

MFA configuration

Operations

Permissions categories

Operations

Permissions

Operations

Roles

Operations

SMS configuration

Operations

SMS templates

Operations

Sessions configuration

Operations

User pools

Operations

Users

Operations

Account invitations

Operations

Account roles

Operations

API tokens

Operations

Domain restrictions

Operations

IP restrictions

Operations

Lockout policy

Operations

MFA settings

Operations

Password settings

Operations

Personal tokens

Operations

Sessions management

Operations

User groups

Operations

User management

Operations

Get users with fuzzy search

Request

This route retrieves all users for a specific tenant or environment. To filter by tenant, include the tenant's ID in the frontegg-tenant-id header; otherwise, leave it empty to retrieve users from all tenants. In addition to all standard Get users query params, this route supports phrase search, allowing for complex queries using parameters such as contains, excludes, optional and approximate matching.

Query
_limitnumber

The default limit is 50 users per request, the maximum is 200

_includeSubTenantsboolean

when passing a user id, gives the option to include or not include sub tenants when searching users

Default true
_phraseSearchContainsArray of strings

Pass a list of strings, separated by comma, to search for users that contain all of the strings in the list

_phraseSearchExcludesArray of strings

Pass a list of strings, separated by comma, to search for users that do not contain any of the strings in the list

_phraseSearchOptionalArray of strings

Pass a list of strings, separated by comma, to search for users that contain at least one of the strings in the list

_phraseSearchApproximateboolean

When true, the search will be approximate (fuzzy), meaning it will include similar characters to the ones in the search string

Default false
_offsetnumber>= 0
_emailstring
_tenantIdstring
idsstring
_sortBystring
Enum"createdAt""name""email""id""verified""isLocked""provider""tenantId"
_orderstring
Enum"ASC""DESC"
Headers
frontegg-tenant-idstring

The tenant ID identifier

curl -i -X GET \
  https://api.frontegg.com/identity/resources/users/v1/query/phrase \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
itemsArray of objects(UserV3Dto)
_linksobject(FronteggPaginationLinks)
_metadataobject(FronteggPaginationMetadata)
Response
application/json
{ "items": [ {} ], "_links": { "next": "string", "prev": "string", "first": "string", "last": "string" }, "_metadata": { "totalItems": 0, "totalPages": 0 } }

Activate user

Request

This route activates a non-activated user. You can use it to create your own activation flow. Send the frontegg-vendor-host as a header to declare which vendor. This is your domain name in the Frontegg Portal ➜ Workspace Settings ➜ Domains ➜ Domain Name. Send the required userId and activation token in the POST body. For generating an activation token, see the route under users for generating an activation token. If the vendor's sign in flow requires a password or recaptcha, send those values in the POST body. Instead of this route, consider using our email template for user activation.

Headers
frontegg-vendor-hoststringrequired
Bodyapplication/jsonrequired
userIdstringrequired
tokenstringrequired
passwordstring
recaptchaTokenstring
lastTermsCheckstring
curl -i -X POST \
  https://api.frontegg.com/identity/resources/users/v1/activate \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'frontegg-vendor-host: string' \
  -d '{
    "userId": "string",
    "token": "string",
    "password": "string",
    "recaptchaToken": "string",
    "lastTermsCheck": "string"
  }'

Responses

Bodyapplication/json
tokenTypestring
Default "bearer"
otcTokenstring
mfaRequiredbooleanrequired
mfaTokenstring
resetPasswordTokenstring
passwordExpiresInnumber
notificationPeriodnumber
mfaEnrolledboolean
mfaDevicesobject(UserMFADevicesResponse)
mfaStrategiesobject
qrCodestring
recoveryCodestring
accessTokenstringrequired
refreshTokenstringrequired
expiresInnumberrequired
expiresstringrequired
userIdstring
userEmailstring
emailVerifiedboolean
isBreachedPasswordboolean
Response
application/json
{ "tokenType": "bearer", "otcToken": "string", "mfaRequired": true, "mfaToken": "string", "resetPasswordToken": "string", "passwordExpiresIn": 0, "notificationPeriod": 0, "mfaEnrolled": true, "mfaDevices": { "webauthn": [], "phones": [], "authenticators": [], "emails": [] }, "mfaStrategies": {}, "qrCode": "string", "recoveryCode": "string", "accessToken": "string", "refreshToken": "string", "expiresIn": 0, "expires": "string", "userId": "string", "userEmail": "string", "emailVerified": true, "isBreachedPassword": true }

Activate user with code

Request

This route activates a non-activated user. You can use it to create your own activation flow. Send the frontegg-vendor-host as a header to declare which vendor. This is your domain name in the Frontegg Portal ➜ Workspace Settings ➜ Domains ➜ Domain Name. Send the required userId, activation token and code in the POST body. For generating an activation token, see the route under users for generating an activation token. If the vendor's sign in flow requires a password or recaptcha, send those values in the POST body. Instead of this route, consider using our email template for user activation.

Headers
frontegg-vendor-hoststringrequired
Bodyapplication/jsonrequired
userIdstringrequired
tokenstringrequired
passwordstring
recaptchaTokenstring
lastTermsCheckstring
codestringrequired
curl -i -X POST \
  https://api.frontegg.com/identity/resources/users/v1/activate/code \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'frontegg-vendor-host: string' \
  -d '{
    "userId": "string",
    "token": "string",
    "password": "string",
    "recaptchaToken": "string",
    "lastTermsCheck": "string",
    "code": "string"
  }'

Responses

Bodyapplication/json
tokenTypestring
Default "bearer"
otcTokenstring
mfaRequiredbooleanrequired
mfaTokenstring
resetPasswordTokenstring
passwordExpiresInnumber
notificationPeriodnumber
mfaEnrolledboolean
mfaDevicesobject(UserMFADevicesResponse)
mfaStrategiesobject
qrCodestring
recoveryCodestring
accessTokenstringrequired
refreshTokenstringrequired
expiresInnumberrequired
expiresstringrequired
userIdstring
userEmailstring
emailVerifiedboolean
isBreachedPasswordboolean
Response
application/json
{ "tokenType": "bearer", "otcToken": "string", "mfaRequired": true, "mfaToken": "string", "resetPasswordToken": "string", "passwordExpiresIn": 0, "notificationPeriod": 0, "mfaEnrolled": true, "mfaDevices": { "webauthn": [], "phones": [], "authenticators": [], "emails": [] }, "mfaStrategies": {}, "qrCode": "string", "recoveryCode": "string", "accessToken": "string", "refreshToken": "string", "expiresIn": 0, "expires": "string", "userId": "string", "userEmail": "string", "emailVerified": true, "isBreachedPassword": true }

User sessions

Operations

Users-applications management

Operations