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

Create tenant access token

Request

Headers
frontegg-tenant-idstringrequired

The tenant ID identifier

Bodyapplication/jsonrequired
descriptionstring
expiresInMinutesnumber>= 1

Token expiration time in minutes. In case of undefined, the token won't be expired

roleIdsArray of strings

Array of role IDs to attach to the token

curl -i -X POST \
  https://api.frontegg.com/identity/resources/tenants/access-tokens/v1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'frontegg-tenant-id: string' \
  -d '{
    "description": "string",
    "expiresInMinutes": 1,
    "roleIds": [
      "string"
    ]
  }'

Responses

Bodyapplication/json
idstringrequired
descriptionstring
createdAtstring(date-time)required
secretstring
expiresstring(date-time)
roleIdsArray of stringsrequired

Array of role ids

createdByUserIdstring or nullrequired
Response
application/json
{ "id": "string", "description": "string", "createdAt": "2019-08-24T14:15:22Z", "secret": "string", "expires": "2019-08-24T14:15:22Z", "roleIds": [ "string" ], "createdByUserId": "string" }

Get tenant access tokens

Request

Headers
frontegg-tenant-idstringrequired

The tenant ID identifier

curl -i -X GET \
  https://api.frontegg.com/identity/resources/tenants/access-tokens/v1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'frontegg-tenant-id: string'

Responses

Bodyapplication/json
accessTokensArray of objects(TenantAccessTokenResponse)required
accessTokens[].​idstringrequired
accessTokens[].​descriptionstring
accessTokens[].​createdAtstring(date-time)required
accessTokens[].​secretstring
accessTokens[].​expiresstring(date-time)
accessTokens[].​roleIdsArray of stringsrequired

Array of role ids

accessTokens[].​createdByUserIdstring or nullrequired
Response
application/json
{ "accessTokens": [ { … } ] }

Delete tenant access token

Request

Path
idstringrequired
Headers
frontegg-tenant-idstringrequired

The tenant ID identifier

curl -i -X DELETE \
  'https://api.frontegg.com/identity/resources/tenants/access-tokens/v1/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'frontegg-tenant-id: string'

Responses

Get client credentials tokens

Request

This route gets all API tokens for a specific tenant. Send the tenant’s ID in the frontegg-tenant-id header.

Headers
frontegg-tenant-idstringrequired

The tenant ID identifier

curl -i -X GET \
  https://api.frontegg.com/identity/resources/tenants/api-tokens/v1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'frontegg-tenant-id: string'

Responses

Bodyapplication/jsonArray [
clientIdstringrequired
descriptionstring or nullrequired
tenantIdstringrequired
createdByUserIdstring or nullrequired
metadataobjectrequired

Extra data that will be encoded as part of the JWT

createdAtstring(date-time)required
permissionIdsArray of stringsrequired

Array of permission ids. Either this or roleIds will be present, but not both.

roleIdsArray of stringsrequired

Array of role ids. Either this or permissionIds will be present, but not both.

expiresstring(date-time)required
]
Response
application/json
[ { "clientId": "string", "description": "string", "tenantId": "string", "createdByUserId": "string", "metadata": {}, "createdAt": "2019-08-24T14:15:22Z", "permissionIds": [ … ], "roleIds": [ … ], "expires": "2019-08-24T14:15:22Z" } ]

Delete client credentials token

Request

This route deletes a tenant API token. Send the token ID as the path param. Send the tenant’s ID in the frontegg-tenant-id header.

Path
idstringrequired
Headers
frontegg-tenant-idstringrequired

The tenant ID identifier

curl -i -X DELETE \
  'https://api.frontegg.com/identity/resources/tenants/api-tokens/v1/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'frontegg-tenant-id: string'

Responses

Update client credentials token

Request

This route updates a tenant API token. Send the tenant’s ID in the frontegg-tenant-id header. Optionally, send as POST body params values for description, roles, and permissions for the token.

Path
idstringrequired
Headers
frontegg-tenant-idstringrequired

The tenant ID identifier

Bodyapplication/jsonrequired
metadataobject

Extra data that will be encoded as part of the JWT

descriptionstring
roleIdsArray of strings

Array of role ids

permissionIdsArray of strings

Array of permission ids

curl -i -X PATCH \
  'https://api.frontegg.com/identity/resources/tenants/api-tokens/v1/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'frontegg-tenant-id: string' \
  -d '{
    "metadata": {},
    "description": "string",
    "roleIds": [
      "string"
    ],
    "permissionIds": [
      "string"
    ]
  }'

Responses

Bodyapplication/json
clientIdstringrequired
descriptionstring or nullrequired
tenantIdstringrequired
createdByUserIdstring or nullrequired
metadataobjectrequired

Extra data that will be encoded as part of the JWT

createdAtstring(date-time)required
permissionIdsArray of strings

Array of permission ids

roleIdsArray of strings

Array of role ids

expiresstring(date-time)
Response
application/json
{ "clientId": "string", "description": "string", "tenantId": "string", "createdByUserId": "string", "metadata": {}, "createdAt": "2019-08-24T14:15:22Z", "permissionIds": [ "string" ], "roleIds": [ "string" ], "expires": "2019-08-24T14:15:22Z" }

Create client credentials token

Request

This route creates a tenant API token. Send the tenant’s ID in the frontegg-tenant-id header. Optionally, send as POST body params values for metadata, description, roles, and permissions for the token.

You can get roles & permissions via API

Headers
frontegg-tenant-idstringrequired

The tenant ID identifier

Bodyapplication/jsonrequired
metadataobject

Extra data that will be encoded as part of the JWT

descriptionstring
roleIdsArray of strings

Array of role ids. Either this or permissionIds must be provided, but not both.

permissionIdsArray of strings

Array of permission ids. Either this or roleIds must be provided, but not both. roleIds will override permissionIds.

curl -i -X POST \
  https://api.frontegg.com/identity/resources/tenants/api-tokens/v2 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'frontegg-tenant-id: string' \
  -d '{
    "metadata": {},
    "description": "string",
    "roleIds": [
      "string"
    ],
    "permissionIds": [
      "string"
    ]
  }'

Responses

Bodyapplication/json
clientIdstringrequired
descriptionstring or nullrequired
tenantIdstringrequired
secretstringrequired
createdByUserIdstring or nullrequired
metadataobjectrequired

Extra data that will be encoded as part of the JWT

createdAtstring(date-time)required
permissionIdsArray of strings

Array of permission ids

roleIdsArray of strings

Array of role ids

expiresstring(date-time)
Response
application/json
{ "clientId": "string", "description": "string", "tenantId": "string", "secret": "string", "createdByUserId": "string", "metadata": {}, "createdAt": "2019-08-24T14:15:22Z", "permissionIds": [ "string" ], "roleIds": [ "string" ], "expires": "2019-08-24T14:15:22Z" }

Create client credentials tokenDeprecated

Request

Do not use. Instead, use v2 of this route.

Headers
frontegg-tenant-idstringrequired

The tenant ID identifier

Bodyapplication/jsonrequired
metadataobject

Extra data that will be encoded as part of the JWT

descriptionstring
roleIdsArray of strings

Array of role ids. Either this or permissionIds must be provided, but not both.

permissionIdsArray of strings

Array of permission ids. Either this or roleIds must be provided, but not both. roleIds will override permissionIds.

curl -i -X POST \
  https://api.frontegg.com/identity/resources/tenants/api-tokens/v1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'frontegg-tenant-id: string' \
  -d '{
    "metadata": {},
    "description": "string",
    "roleIds": [
      "string"
    ],
    "permissionIds": [
      "string"
    ]
  }'

Responses

Bodyapplication/json
clientIdstringrequired
descriptionstring or nullrequired
tenantIdstringrequired
secretstringrequired
createdByUserIdstring or nullrequired
metadataobjectrequired

Extra data that will be encoded as part of the JWT

createdAtstring(date-time)required
permissionIdsArray of strings

Array of permission ids

roleIdsArray of strings

Array of role ids

expiresstring(date-time)
Response
application/json
{ "clientId": "string", "description": "string", "tenantId": "string", "secret": "string", "createdByUserId": "string", "metadata": {}, "createdAt": "2019-08-24T14:15:22Z", "permissionIds": [ "string" ], "roleIds": [ "string" ], "expires": "2019-08-24T14:15:22Z" }

Domain restrictions

Operations

IP restrictions

Operations

Lockout policy

Operations

Password settings

Operations

Personal tokens

Operations

Sessions management

Operations

User groups

Operations

User management

Operations

User sessions

Operations

Users-applications management

Operations