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

Get all groups

Request

This route gets all user groups for a tenant.

Query
_groupsRelationsstring
Enum"roles""users""rolesAndUsers"
curl -i -X GET \
  https://api.frontegg.com/identity/resources/groups/v1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
groupsArray of objects(GroupResponse)required
groups[].​idstringrequired
groups[].​namestringrequired
groups[].​colorstringrequired
groups[].​descriptionstringrequired
groups[].​metadatastringrequired
groups[].​rolesArray of objects(RoleDto)required
groups[].​roles[].​idstringrequired
groups[].​roles[].​vendorIdstringrequired
groups[].​roles[].​tenantIdstringrequired
groups[].​roles[].​keystringrequired
groups[].​roles[].​namestringrequired
groups[].​roles[].​descriptionstringrequired
groups[].​roles[].​isDefaultbooleanrequired
groups[].​roles[].​firstUserRolebooleanrequired
groups[].​roles[].​levelnumberrequired
groups[].​roles[].​createdAtstring(date-time)required
groups[].​roles[].​updatedAtstring(date-time)required
groups[].​usersArray of objects(GroupUserDto)required
groups[].​users[].​idstringrequired
groups[].​users[].​emailstringrequired
groups[].​users[].​namestringrequired
groups[].​users[].​profilePictureUrlstringrequired
groups[].​users[].​createdAtstring(date-time)required
groups[].​users[].​activatedForTenantbooleanrequired
groups[].​managedBystringrequired
Enum"frontegg""scim2"
groups[].​createdAtstring(date-time)required
groups[].​updatedAtstring(date-time)required
Response
application/json
{ "groups": [ {} ] }

Create group

Request

This route creates user group for a tenant.

Bodyapplication/jsonrequired
colorstring

Color for group display

descriptionstring

Group description

metadatastring

Stringified JSON object

Example: "{}"
namestringrequired

Group unique name

curl -i -X POST \
  https://api.frontegg.com/identity/resources/groups/v1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "color": "string",
    "description": "string",
    "metadata": "{}",
    "name": "string"
  }'

Responses

Bodyapplication/json
idstringrequired
namestringrequired
colorstringrequired
descriptionstringrequired
metadatastringrequired
rolesArray of objects(RoleDto)required
roles[].​idstringrequired
roles[].​vendorIdstringrequired
roles[].​tenantIdstringrequired
roles[].​keystringrequired
roles[].​namestringrequired
roles[].​descriptionstringrequired
roles[].​isDefaultbooleanrequired
roles[].​firstUserRolebooleanrequired
roles[].​levelnumberrequired
roles[].​createdAtstring(date-time)required
roles[].​updatedAtstring(date-time)required
usersArray of objects(GroupUserDto)required
users[].​idstringrequired
users[].​emailstringrequired
users[].​namestringrequired
users[].​profilePictureUrlstringrequired
users[].​createdAtstring(date-time)required
users[].​activatedForTenantbooleanrequired
managedBystringrequired
Enum"frontegg""scim2"
createdAtstring(date-time)required
updatedAtstring(date-time)required
Response
application/json
{ "id": "string", "name": "string", "color": "string", "description": "string", "metadata": "string", "roles": [ {} ], "users": [ {} ], "managedBy": "frontegg", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Get groups by ids

Request

This route gets user group by given IDs for a tenant.

Query
_groupsRelationsstring
Enum"roles""users""rolesAndUsers"
Bodyapplication/jsonrequired
groupsIdsArray of stringsrequired

Group IDs

curl -i -X POST \
  https://api.frontegg.com/identity/resources/groups/v1/bulkGet \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "groupsIds": [
      "string"
    ]
  }'

Responses

Bodyapplication/json
groupsArray of objects(GroupResponse)required
groups[].​idstringrequired
groups[].​namestringrequired
groups[].​colorstringrequired
groups[].​descriptionstringrequired
groups[].​metadatastringrequired
groups[].​rolesArray of objects(RoleDto)required
groups[].​roles[].​idstringrequired
groups[].​roles[].​vendorIdstringrequired
groups[].​roles[].​tenantIdstringrequired
groups[].​roles[].​keystringrequired
groups[].​roles[].​namestringrequired
groups[].​roles[].​descriptionstringrequired
groups[].​roles[].​isDefaultbooleanrequired
groups[].​roles[].​firstUserRolebooleanrequired
groups[].​roles[].​levelnumberrequired
groups[].​roles[].​createdAtstring(date-time)required
groups[].​roles[].​updatedAtstring(date-time)required
groups[].​usersArray of objects(GroupUserDto)required
groups[].​users[].​idstringrequired
groups[].​users[].​emailstringrequired
groups[].​users[].​namestringrequired
groups[].​users[].​profilePictureUrlstringrequired
groups[].​users[].​createdAtstring(date-time)required
groups[].​users[].​activatedForTenantbooleanrequired
groups[].​managedBystringrequired
Enum"frontegg""scim2"
groups[].​createdAtstring(date-time)required
groups[].​updatedAtstring(date-time)required
Response
application/json
{ "groups": [ {} ] }

Update group

Request

This route updates user group by id for a tenant.

Path
idstringrequired
Bodyapplication/jsonrequired
colorstring

Color for group display

descriptionstring

Group description

metadatastring

Stringified JSON object

Example: "{}"
namestring

Group unique name

curl -i -X PATCH \
  'https://api.frontegg.com/identity/resources/groups/v1/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "color": "string",
    "description": "string",
    "metadata": "{}",
    "name": "string"
  }'

Responses

Bodyapplication/json
idstringrequired
namestringrequired
colorstringrequired
descriptionstringrequired
metadatastringrequired
rolesArray of objects(RoleDto)required
roles[].​idstringrequired
roles[].​vendorIdstringrequired
roles[].​tenantIdstringrequired
roles[].​keystringrequired
roles[].​namestringrequired
roles[].​descriptionstringrequired
roles[].​isDefaultbooleanrequired
roles[].​firstUserRolebooleanrequired
roles[].​levelnumberrequired
roles[].​createdAtstring(date-time)required
roles[].​updatedAtstring(date-time)required
usersArray of objects(GroupUserDto)required
users[].​idstringrequired
users[].​emailstringrequired
users[].​namestringrequired
users[].​profilePictureUrlstringrequired
users[].​createdAtstring(date-time)required
users[].​activatedForTenantbooleanrequired
managedBystringrequired
Enum"frontegg""scim2"
createdAtstring(date-time)required
updatedAtstring(date-time)required
Response
application/json
{ "id": "string", "name": "string", "color": "string", "description": "string", "metadata": "string", "roles": [ {} ], "users": [ {} ], "managedBy": "frontegg", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Delete group

Request

This route deletes user group by id for a tenant.

Path
idstringrequired
curl -i -X DELETE \
  'https://api.frontegg.com/identity/resources/groups/v1/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Get group by ID

Request

This route gets user group by given ID for a tenant.

Path
idstringrequired
Query
_groupsRelationsstring
Enum"roles""users""rolesAndUsers"
curl -i -X GET \
  'https://api.frontegg.com/identity/resources/groups/v1/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
idstringrequired
namestringrequired
colorstringrequired
descriptionstringrequired
metadatastringrequired
rolesArray of objects(RoleDto)required
roles[].​idstringrequired
roles[].​vendorIdstringrequired
roles[].​tenantIdstringrequired
roles[].​keystringrequired
roles[].​namestringrequired
roles[].​descriptionstringrequired
roles[].​isDefaultbooleanrequired
roles[].​firstUserRolebooleanrequired
roles[].​levelnumberrequired
roles[].​createdAtstring(date-time)required
roles[].​updatedAtstring(date-time)required
usersArray of objects(GroupUserDto)required
users[].​idstringrequired
users[].​emailstringrequired
users[].​namestringrequired
users[].​profilePictureUrlstringrequired
users[].​createdAtstring(date-time)required
users[].​activatedForTenantbooleanrequired
managedBystringrequired
Enum"frontegg""scim2"
createdAtstring(date-time)required
updatedAtstring(date-time)required
Response
application/json
{ "id": "string", "name": "string", "color": "string", "description": "string", "metadata": "string", "roles": [ {} ], "users": [ {} ], "managedBy": "frontegg", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Get groups configuration

Request

This route gets the user group configuration for a vendor.

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

Responses

Bodyapplication/json
enabledbooleanrequired
rolesEnabledbooleanrequired
Response
application/json
{ "enabled": true, "rolesEnabled": true }

Create or update groups configuration

Request

This route creates or updates the user group configuration for a vendor.

Bodyapplication/jsonrequired
enabledboolean

Determine whether groups are enabled/disabled. Default value is true.

Default true
rolesEnabledboolean

Determine whether groups can have roles or not. Default value is true.

Default true
curl -i -X POST \
  https://api.frontegg.com/identity/resources/groups/v1/config \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "enabled": true,
    "rolesEnabled": true
  }'

Responses

Add roles to group

Request

This route adds requested roles to existing group. User can assign only roles that are lower then his own.

Path
groupIdstringrequired
Bodyapplication/jsonrequired
roleIdsArray of stringsrequired

Will add / remove requested roles from the group

Example: ["5fbae0d3-a3b7-4b1e-8d64-6c9428f84aae","8b2d0f9a-f39e-49b3-98ca-93c85c06d1a7"]
curl -i -X POST \
  'https://api.frontegg.com/identity/resources/groups/v1/{groupId}/roles' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "roleIds": [
      "5fbae0d3-a3b7-4b1e-8d64-6c9428f84aae",
      "8b2d0f9a-f39e-49b3-98ca-93c85c06d1a7"
    ]
  }'

Responses

Remove roles from group

Request

This route removes requested roles from existing group.

Path
groupIdstringrequired
Bodyapplication/jsonrequired
roleIdsArray of stringsrequired

Will add / remove requested roles from the group

Example: ["5fbae0d3-a3b7-4b1e-8d64-6c9428f84aae","8b2d0f9a-f39e-49b3-98ca-93c85c06d1a7"]
curl -i -X DELETE \
  'https://api.frontegg.com/identity/resources/groups/v1/{groupId}/roles' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "roleIds": [
      "5fbae0d3-a3b7-4b1e-8d64-6c9428f84aae",
      "8b2d0f9a-f39e-49b3-98ca-93c85c06d1a7"
    ]
  }'

Responses

Add users to group

Request

This route adds requested users to existing group. Only allowed for users that have higher roles then group roles.

Path
groupIdstringrequired
Bodyapplication/jsonrequired
userIdsArray of stringsrequired

An array of User IDs to add / remove existing users to / from the group.

Example: ["262io276-3c5v-9y31-ba03-281674a89d4c","eeooc819-87dd-1cdd-b81d-e8829vm9d684"]
curl -i -X POST \
  'https://api.frontegg.com/identity/resources/groups/v1/{groupId}/users' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "userIds": [
      "262io276-3c5v-9y31-ba03-281674a89d4c",
      "eeooc819-87dd-1cdd-b81d-e8829vm9d684"
    ]
  }'

Responses

Remove users from group

Request

This route removes requested users from existing group.

Path
groupIdstringrequired
Bodyapplication/jsonrequired
userIdsArray of stringsrequired

An array of User IDs to add / remove existing users to / from the group.

Example: ["262io276-3c5v-9y31-ba03-281674a89d4c","eeooc819-87dd-1cdd-b81d-e8829vm9d684"]
curl -i -X DELETE \
  'https://api.frontegg.com/identity/resources/groups/v1/{groupId}/users' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "userIds": [
      "262io276-3c5v-9y31-ba03-281674a89d4c",
      "eeooc819-87dd-1cdd-b81d-e8829vm9d684"
    ]
  }'

Responses

Get all groups paginated

Request

This route gets all user groups for a tenant.

Query
_groupsRelationsstring
Enum"roles""users""rolesAndUsers"
_limitnumber>= 1
_offsetnumber>= 0
_sortBystring
Enum"id""name""createdAt""updatedAt"
_orderstring
Enum"ASC""DESC"
curl -i -X GET \
  https://api.frontegg.com/identity/resources/groups/v2 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

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

User management

Operations

User sessions

Operations

Users-applications management

Operations