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.
https://api.frontegg.com/identity/
https://api.us.frontegg.com/identity/
https://api.ca.frontegg.com/identity/
https://api.au.frontegg.com/identity/
https://{domain}.frontegg.com/identity/
Set a user as a super-user.
Super-user functionality is no longer maintained due to incompatibility with newer features. A super-user has access to all accounts (tenants) within the workspace.
Provide the user's ID as a path parameter and a Boolean superUser
value in the request body (true
for super-user, false
for regular user).
A valid environment token is required to call this endpoint. You can obtain it from the environment authentication route.
https://api.frontegg.com/identity/resources/users/v1/{userId}/superuser
https://api.us.frontegg.com/identity/resources/users/v1/{userId}/superuser
https://api.ca.frontegg.com/identity/resources/users/v1/{userId}/superuser
https://api.au.frontegg.com/identity/resources/users/v1/{userId}/superuser
https://app-xxx.frontegg.com/identity/resources/users/v1/{userId}/superuser
curl -i -X PUT \
'https://api.frontegg.com/identity/resources/users/v1/{userId}/superuser' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"superUser": true
}'
{ "id": "string", "email": "string", "name": "string", "profilePictureUrl": "string", "sub": "string", "verified": true, "mfaEnrolled": true, "mfaBypass": true, "phoneNumber": "string", "roles": [ { … } ], "permissions": [ { … } ], "provider": "string", "tenantId": "string", "tenantIds": [ "string" ], "activatedForTenant": true, "isLocked": true, "tenants": [ { … } ], "invisible": true, "superUser": true, "metadata": "string", "vendorMetadata": "string", "createdAt": "2019-08-24T14:15:22Z", "lastLogin": "2019-08-24T14:15:22Z", "groups": [ {} ], "subAccountAccessAllowed": true, "managedBy": "frontegg" }
Set the active account (tenant) of a user.
The active account (tenant) is the account (tenant) the user will see in their admin portal and the account (tenant) used by default for account (tenant)-specific API routes.
Provide the user's ID as a path parameter and the account (tenant) ID as a tenantId
value in the request body. If a non-existing account (tenant) ID is provided, an account (tenant) will be created for that ID.
A valid environment token is required to call this endpoint. You can obtain it from the environment authentication route.
https://api.frontegg.com/identity/resources/users/v1/{userId}/tenant
https://api.us.frontegg.com/identity/resources/users/v1/{userId}/tenant
https://api.ca.frontegg.com/identity/resources/users/v1/{userId}/tenant
https://api.au.frontegg.com/identity/resources/users/v1/{userId}/tenant
https://app-xxx.frontegg.com/identity/resources/users/v1/{userId}/tenant
curl -i -X PUT \
'https://api.frontegg.com/identity/resources/users/v1/{userId}/tenant' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"tenantId": "string",
"validateTenantExist": true
}'
{ "id": "string", "email": "string", "name": "string", "profilePictureUrl": "string", "sub": "string", "verified": true, "mfaEnrolled": true, "mfaBypass": true, "phoneNumber": "string", "roles": [ { … } ], "permissions": [ { … } ], "provider": "string", "tenantId": "string", "tenantIds": [ "string" ], "activatedForTenant": true, "isLocked": true, "tenants": [ { … } ], "invisible": true, "superUser": true, "metadata": "string", "vendorMetadata": "string", "createdAt": "2019-08-24T14:15:22Z", "lastLogin": "2019-08-24T14:15:22Z", "groups": [ {} ], "subAccountAccessAllowed": true, "managedBy": "frontegg" }
Add a user to an account (tenant).
Provide the user's ID as a path parameter and the account (tenant) ID as a tenantId
value in the request body. To skip sending an invite email, include the optional skipInviteEmail
parameter in the request body and set it to true
.
A valid environment token is required to call this endpoint. You can obtain it from the environment authentication route.
https://api.frontegg.com/identity/resources/users/v1/{userId}/tenant
https://api.us.frontegg.com/identity/resources/users/v1/{userId}/tenant
https://api.ca.frontegg.com/identity/resources/users/v1/{userId}/tenant
https://api.au.frontegg.com/identity/resources/users/v1/{userId}/tenant
https://app-xxx.frontegg.com/identity/resources/users/v1/{userId}/tenant
curl -i -X POST \
'https://api.frontegg.com/identity/resources/users/v1/{userId}/tenant' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"validateTenantExist": true,
"tenantId": "string",
"skipInviteEmail": true
}'
{ "id": "string", "email": "string", "name": "string", "profilePictureUrl": "string", "sub": "string", "verified": true, "mfaEnrolled": true, "mfaBypass": true, "phoneNumber": "string", "roles": [ { … } ], "permissions": [ { … } ], "provider": "string", "tenantId": "string", "tenantIds": [ "string" ], "activatedForTenant": true, "isLocked": true, "tenants": [ { … } ], "invisible": true, "superUser": true, "metadata": "string", "vendorMetadata": "string", "createdAt": "2019-08-24T14:15:22Z", "lastLogin": "2019-08-24T14:15:22Z", "groups": [ {} ], "subAccountAccessAllowed": true, "managedBy": "frontegg" }