Skip to content

Authentication and Identity Management (1.0)

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

Bulk update user roles across all tenants

Request

Security
bearer
Path
userIdstringrequired
Bodyapplication/jsonrequired
addRoleIdsArray of strings

Role IDs to add across tenants

Example: ["role-uuid-1","role-uuid-2"]
removeRoleIdsArray of strings

Role IDs to remove across tenants

Example: ["role-uuid-3"]
tenantIdsArray of strings

Specific tenant IDs to update. If not provided, all tenants the user belongs to will be updated.

Example: ["tenant-uuid-1","tenant-uuid-2"]
curl -i -X PATCH \
  'https://api.frontegg.com/identity/resources/vendor-only/users/v1/{userId}/roles/bulk' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "addRoleIds": [
      "role-uuid-1",
      "role-uuid-2"
    ],
    "removeRoleIds": [
      "role-uuid-3"
    ],
    "tenantIds": [
      "tenant-uuid-1",
      "tenant-uuid-2"
    ]
  }'

Responses

Roles updated successfully (sync) or task queued (async)

Bodyapplication/json
userIdstringrequired

The user ID that was updated

Example: "user-uuid"
affectedTenantsnumberrequired

Number of tenants affected by the update

Example: 15
rolesAddedArray of stringsrequired

Role IDs that were added

Example: ["role-uuid-1"]
rolesRemovedArray of stringsrequired

Role IDs that were removed

Example: ["role-uuid-2"]
Response
application/json
{ "userId": "user-uuid", "affectedTenants": 15, "rolesAdded": [ "role-uuid-1" ], "rolesRemoved": [ "role-uuid-2" ] }

Get status of bulk roles update task

Request

Security
bearer
Path
taskIdstringrequired
curl -i -X GET \
  'https://api.frontegg.com/identity/resources/vendor-only/users/v1/bulk-roles/status/{taskId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Task status

Bodyapplication/json
idstringrequired

Task ID

Example: "task-uuid"
userIdstringrequired

User ID being updated

Example: "user-uuid"
statusstringrequired

Current status of the task

Enum"NotStarted""InProgress""Completed""CompletedWithErrors"
Example: "InProgress"
totalTenantsnumberrequired

Total number of tenants to update

Example: 500
processedTenantsnumberrequired

Number of tenants already processed

Example: 150
addedRoleIdsArray of stringsrequired

Role IDs being added

Example: ["role-uuid-1"]
removedRoleIdsArray of stringsrequired

Role IDs being removed

Example: ["role-uuid-2"]
errorsArray of objects(BulkRolesTaskError)

Errors encountered during processing

Response
application/json
{ "id": "task-uuid", "userId": "user-uuid", "status": "InProgress", "totalTenants": 500, "processedTenants": 150, "addedRoleIds": [ "role-uuid-1" ], "removedRoleIds": [ "role-uuid-2" ], "errors": [ { … } ] }

Get user by email

Request

Retrieve a user by email.

Provide the user's email as a query parameter.

Security
bearer
Query
emailstringrequired
curl -i -X GET \
  'https://api.frontegg.com/identity/resources/users/v1/email?email=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
idstringrequired
emailstringrequired
namestringrequired
profilePictureUrlstringrequired
substringrequired
verifiedbooleanrequired
mfaEnrolledbooleanrequired
mfaBypassboolean
phoneNumberstring
providerstringrequired
tenantIdstringrequired
tenantIdsArray of stringsrequired
activatedForTenantboolean
isLockedboolean
tenantsArray of objects(UserTenantDto)required
tenants[].​tenantIdstringrequired
tenants[].​rolesArray of objects(RoleResponse)required
tenants[].​roles[].​idstringrequired
tenants[].​roles[].​vendorIdstringrequired
tenants[].​roles[].​tenantIdstringrequired
tenants[].​roles[].​keystringrequired
tenants[].​roles[].​namestringrequired
tenants[].​roles[].​descriptionstringrequired
tenants[].​roles[].​isDefaultbooleanrequired
tenants[].​roles[].​firstUserRolebooleanrequired
tenants[].​roles[].​levelnumberrequired
tenants[].​roles[].​createdAtstring(date-time)required
tenants[].​roles[].​updatedAtstring(date-time)required
tenants[].​roles[].​permissionsArray of stringsrequired
tenants[].​temporaryExpirationDatestring(date-time)
tenants[].​isDisabledboolean
invisibleboolean
superUserboolean
metadatastringrequired
vendorMetadatastringrequired
externalIdstring
createdAtstring(date-time)required
lastLoginstring(date-time)required
subAccountAccessAllowedbooleanrequired
managedBystring
Enum"frontegg""scim2""external"
Response
application/json
{ "id": "string", "email": "string", "name": "string", "profilePictureUrl": "string", "sub": "string", "verified": true, "mfaEnrolled": true, "mfaBypass": true, "phoneNumber": "string", "provider": "string", "tenantId": "string", "tenantIds": [ "string" ], "activatedForTenant": true, "isLocked": true, "tenants": [ { … } ], "invisible": true, "superUser": true, "metadata": "string", "vendorMetadata": "string", "externalId": "string", "createdAt": "2019-08-24T14:15:22Z", "lastLogin": "2019-08-24T14:15:22Z", "subAccountAccessAllowed": true, "managedBy": "frontegg" }

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