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

Update identity management configuration

Request

This route updates the identity management configuration for a vendor. Send values in the POST body for params that you want to add or update. See the dropdown for available values for each param.

Bodyapplication/jsonrequired
defaultTokenExpirationnumber
defaultRefreshTokenExpirationnumber<= 15552000
cookieSameSitestring
Enum"STRICT""LAX""NONE"
machineToMachineAuthStrategystring
Enum"ClientCredentials""AccessToken"
allowSignupsboolean
apiTokensEnabledboolean
allowOverridePasswordComplexityboolean
allowOverridePasswordExpirationboolean
allowOverrideEnforcePasswordHistoryboolean
jwtAlgorithmstring
Enum"HS256""RS256"
allowNotVerifiedUsersLoginboolean
forcePermissionsboolean
addSamlAttributesToJwtboolean
authStrategystring
Enum"Code""EmailAndPassword""MagicLink""NoLocalAuthentication""SmsCode"
defaultPasswordlessTokenExpirationnumber
forceSameDeviceOnAuthboolean
allowTenantInvitationsboolean
rotateRefreshTokensboolean
skipTenantValidationboolean
addRolesToJwtboolean
addPermissionsToJwtboolean
curl -i -X POST \
  https://api.frontegg.com/identity/resources/configurations/v1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "defaultTokenExpiration": 0,
    "defaultRefreshTokenExpiration": 15552000,
    "cookieSameSite": "STRICT",
    "machineToMachineAuthStrategy": "ClientCredentials",
    "allowSignups": true,
    "apiTokensEnabled": true,
    "allowOverridePasswordComplexity": true,
    "allowOverridePasswordExpiration": true,
    "allowOverrideEnforcePasswordHistory": true,
    "jwtAlgorithm": "HS256",
    "allowNotVerifiedUsersLogin": true,
    "forcePermissions": true,
    "addSamlAttributesToJwt": true,
    "authStrategy": "Code",
    "defaultPasswordlessTokenExpiration": 0,
    "forceSameDeviceOnAuth": true,
    "allowTenantInvitations": true,
    "rotateRefreshTokens": true,
    "skipTenantValidation": true,
    "addRolesToJwt": true,
    "addPermissionsToJwt": true
  }'

Responses

Bodyapplication/json
idstringrequired
defaultTokenExpirationnumberrequired
defaultRefreshTokenExpirationnumberrequired
publicKeystringrequired
cookieSameSitestringrequired
Enum"STRICT""LAX""NONE"
allowSignupsbooleanrequired
apiTokensEnabledbooleanrequired
allowOverridePasswordComplexitybooleanrequired
allowOverridePasswordExpirationbooleanrequired
allowOverrideEnforcePasswordHistorybooleanrequired
jwtAlgorithmstringrequired
Enum"RS256""HS256"
jwtSecretstringrequired
allowNotVerifiedUsersLoginbooleanrequired
forcePermissionsbooleanrequired
authStrategystringrequired
Enum"EmailAndPassword""MagicLink""Code""NoLocalAuthentication""SmsCode"
defaultPasswordlessTokenExpirationnumberrequired
forceSameDeviceOnAuthbooleanrequired
allowTenantInvitationsbooleanrequired
rotateRefreshTokensbooleanrequired
machineToMachineAuthStrategystringrequired
Enum"ClientCredentials""AccessToken"
addRolesToJwtbooleanrequired
addPermissionsToJwtbooleanrequired
refreshTokensRotationLimitnumberrequired
addSamlAttributesToJwtbooleanrequired
Response
application/json
{ "id": "string", "defaultTokenExpiration": 0, "defaultRefreshTokenExpiration": 0, "publicKey": "string", "cookieSameSite": "STRICT", "allowSignups": true, "apiTokensEnabled": true, "allowOverridePasswordComplexity": true, "allowOverridePasswordExpiration": true, "allowOverrideEnforcePasswordHistory": true, "jwtAlgorithm": "RS256", "jwtSecret": "string", "allowNotVerifiedUsersLogin": true, "forcePermissions": true, "authStrategy": "EmailAndPassword", "defaultPasswordlessTokenExpiration": 0, "forceSameDeviceOnAuth": true, "allowTenantInvitations": true, "rotateRefreshTokens": true, "machineToMachineAuthStrategy": "ClientCredentials", "addRolesToJwt": true, "addPermissionsToJwt": true, "refreshTokensRotationLimit": 0, "addSamlAttributesToJwt": true }

Get identity management configuration

Request

This route gets the identity management configuration for a vendor.

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

Responses

Bodyapplication/json
idstringrequired
defaultTokenExpirationnumberrequired
defaultRefreshTokenExpirationnumberrequired
publicKeystringrequired
cookieSameSitestringrequired
Enum"STRICT""LAX""NONE"
allowSignupsbooleanrequired
apiTokensEnabledbooleanrequired
allowOverridePasswordComplexitybooleanrequired
allowOverridePasswordExpirationbooleanrequired
allowOverrideEnforcePasswordHistorybooleanrequired
jwtAlgorithmstringrequired
Enum"RS256""HS256"
jwtSecretstringrequired
allowNotVerifiedUsersLoginbooleanrequired
forcePermissionsbooleanrequired
authStrategystringrequired
Enum"EmailAndPassword""MagicLink""Code""NoLocalAuthentication""SmsCode"
defaultPasswordlessTokenExpirationnumberrequired
forceSameDeviceOnAuthbooleanrequired
allowTenantInvitationsbooleanrequired
rotateRefreshTokensbooleanrequired
machineToMachineAuthStrategystringrequired
Enum"ClientCredentials""AccessToken"
addRolesToJwtbooleanrequired
addPermissionsToJwtbooleanrequired
refreshTokensRotationLimitnumberrequired
addSamlAttributesToJwtbooleanrequired
Response
application/json
{ "id": "string", "defaultTokenExpiration": 0, "defaultRefreshTokenExpiration": 0, "publicKey": "string", "cookieSameSite": "STRICT", "allowSignups": true, "apiTokensEnabled": true, "allowOverridePasswordComplexity": true, "allowOverridePasswordExpiration": true, "allowOverrideEnforcePasswordHistory": true, "jwtAlgorithm": "RS256", "jwtSecret": "string", "allowNotVerifiedUsersLogin": true, "forcePermissions": true, "authStrategy": "EmailAndPassword", "defaultPasswordlessTokenExpiration": 0, "forceSameDeviceOnAuth": true, "allowTenantInvitations": true, "rotateRefreshTokens": true, "machineToMachineAuthStrategy": "ClientCredentials", "addRolesToJwt": true, "addPermissionsToJwt": true, "refreshTokensRotationLimit": 0, "addSamlAttributesToJwt": true }

Create captcha policy

Request

This route creates a captcha policy for all tenants. To enable the Captcha Policy, make sure to set the enabled variable to true, the site key and secret key to the ones you got from reCaptcha and the minimum score to a number between 0 to 1.

Bodyapplication/jsonrequired
enabledbooleanrequired
siteKeystringrequired
secretKeystringrequired
minScorenumberrequired
ignoredEmailsArray of strings

Captcha validation will be skipped for those emails.

curl -i -X POST \
  https://api.frontegg.com/identity/resources/configurations/v1/captcha-policy \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "enabled": true,
    "siteKey": "string",
    "secretKey": "string",
    "minScore": 0,
    "ignoredEmails": [
      "string"
    ]
  }'

Responses

Bodyapplication/json
idstringrequired
siteKeystringrequired
secretKeystringrequired
enabledbooleanrequired
minScorenumberrequired
ignoredEmailsArray of stringsrequired
createdAtstring(date-time)required
updatedAtstring(date-time)required
Response
application/json
{ "id": "string", "siteKey": "string", "secretKey": "string", "enabled": true, "minScore": 0, "ignoredEmails": [ "string" ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Update captcha policy

Request

This route updates a captcha policy for all tenants. To enable the Captcha Policy, make sure to set the enabled variable to true, the site key and secret key to the ones you got from reCaptcha and the minimum score to a number between 0 to 1.

Bodyapplication/jsonrequired
enabledbooleanrequired
siteKeystringrequired
secretKeystringrequired
minScorenumberrequired
ignoredEmailsArray of strings

Captcha validation will be skipped for those emails.

curl -i -X PUT \
  https://api.frontegg.com/identity/resources/configurations/v1/captcha-policy \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "enabled": true,
    "siteKey": "string",
    "secretKey": "string",
    "minScore": 0,
    "ignoredEmails": [
      "string"
    ]
  }'

Responses

Bodyapplication/json
idstringrequired
siteKeystringrequired
secretKeystringrequired
enabledbooleanrequired
minScorenumberrequired
ignoredEmailsArray of stringsrequired
createdAtstring(date-time)required
updatedAtstring(date-time)required
Response
application/json
{ "id": "string", "siteKey": "string", "secretKey": "string", "enabled": true, "minScore": 0, "ignoredEmails": [ "string" ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Get captcha policy

Request

This route gets the captcha policy. It returns the policy’s ID, site key, secret key, minimum score and ignored emails and wether the .

curl -i -X GET \
  https://api.frontegg.com/identity/resources/configurations/v1/captcha-policy \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
idstringrequired
siteKeystringrequired
secretKeystringrequired
enabledbooleanrequired
minScorenumberrequired
ignoredEmailsArray of stringsrequired
createdAtstring(date-time)required
updatedAtstring(date-time)required
Response
application/json
{ "id": "string", "siteKey": "string", "secretKey": "string", "enabled": true, "minScore": 0, "ignoredEmails": [ "string" ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Get identity management configuration

Request

This route gets the identity management configuration for a vendor.

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

Responses

Bodyapplication/json
forcePermissionsbooleanrequired
machineToMachineAuthStrategystringrequired
Enum"ClientCredentials""AccessToken"
Response
application/json
{ "forcePermissions": true, "machineToMachineAuthStrategy": "ClientCredentials" }

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

User sessions

Operations

Users-applications management

Operations