Frontegg Core Settings API

The Core Settings API from Frontegg — 7 operation(s) for core settings.

Documentation

Specifications

Other Resources

OpenAPI Specification

frontegg-core-settings-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Multi-Apps Overview Account Invitations Core Settings API
  description: Frontegg’s Multi-Apps feature simplifies and streamlines application management, delivering a seamless user experience. This section includes all necessary endpoints for managing applications and copying application settings across environments. All endpoints are categorized as **Management Endpoints**, requiring environment-level authorization and providing full control over entitlement resources.
  version: '1.0'
  x-metadata:
    note: Trigger publish artifacts job, remove this x-metadata after publishing
servers:
- url: https://api.frontegg.com/applications
  description: EU Region
- url: https://api.us.frontegg.com/applications
  description: US Region
- url: https://api.ca.frontegg.com/applications
  description: CA Region
- url: https://api.au.frontegg.com/applications
  description: AU Region
- url: https://{domain}.frontegg.com/applications
  description: Frontegg sub-domain for use with user tokens
  variables:
    domain:
      default: app-xxx
tags:
- name: Core Settings
  x-displayName: Core settings
paths:
  /resources/configurations/v1:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: VendorConfigController_addOrUpdateConfig
      summary: Update Identity Management Configuration
      description: 'Update the identity management configuration for your environment.


        Use this endpoint to add or update identity management parameters by sending the desired values in the request body.


        Refer to the parameter documentation for the list of supported values.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorConfigRequest'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorConfigResponse'
      tags:
      - Core Settings
      security:
      - bearer: []
    get:
      operationId: VendorConfigController_getVendorConfig
      summary: Get Identity Management Configuration
      description: 'Retrieve the identity management configuration for your environment.


        Use this endpoint to get the current identity management settings configured in your environment.'
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorConfigResponse'
      tags:
      - Core Settings
      security:
      - bearer: []
  /resources/configurations/v1/captcha-policy:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: CaptchaPolicyController_createCaptchaPolicy
      summary: Create Captcha Policy
      description: 'Create a CAPTCHA policy for all accounts (tenants).


        Provide the required settings in the request body. To enable the policy, set the `enabled` parameter to `true`, and provide the `siteKey` and `secretKey` obtained from reCAPTCHA. You can also set the `minimumScore` parameter to a value between `0` and `1` to define the minimum score threshold.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaptchaPolicyRequest'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaptchaPolicyResponse'
      tags:
      - Core Settings
      security:
      - bearer: []
    put:
      operationId: CaptchaPolicyController_updateCaptchaPolicy
      summary: Update Captcha Policy
      description: 'Update the CAPTCHA policy for all accounts (tenants).


        Provide the desired settings in the request body. To enable the policy, set the `enabled` parameter to `true`, and provide the `siteKey` and `secretKey` obtained from reCAPTCHA. You can also set the `minimumScore` parameter to a value between `0` and `1` to define the minimum score threshold.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaptchaPolicyRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaptchaPolicyResponse'
      tags:
      - Core Settings
      security:
      - bearer: []
    get:
      operationId: CaptchaPolicyController_getCaptchaPolicy
      summary: Get Captcha Policy
      description: 'Retrieve the CAPTCHA policy for your environment.


        The response includes the policy ID, `siteKey`, `secretKey`, `minimumScore`, list of ignored emails, and whether the policy is enabled.'
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaptchaPolicyResponse'
      tags:
      - Core Settings
      security:
      - bearer: []
  /resources/configurations/v1/jwt-template-targeting:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    get:
      operationId: JwtTemplateTargetingControllerV1_getJwtTemplateTargeting
      summary: Get JWT Template Targeting Configuration
      description: 'Retrieves the JWT template targeting configuration for your environment. Note: This feature must be enabled by request.'
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JwtTemplateTargetingResponseDto'
      tags:
      - Core Settings
      security:
      - bearer: []
    post:
      operationId: JwtTemplateTargetingControllerV1_createJwtTemplateTargeting
      summary: Create JWT Template Targeting Configuration
      description: 'Creates a new JWT template targeting configuration for your environment. Note: This feature must be enabled by request.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateJwtTemplateTargetingRequestDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JwtTemplateTargetingResponseDto'
      tags:
      - Core Settings
      security:
      - bearer: []
    put:
      operationId: JwtTemplateTargetingControllerV1_updateJwtTemplateTargeting
      summary: Update or Create JWT Template Targeting Configuration
      description: 'Updates or creates a JWT template targeting configuration for your environment. Note: This feature must be enabled by request.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateJwtTemplateTargetingRequestDto'
      responses:
        '200':
          description: ''
      tags:
      - Core Settings
      security:
      - bearer: []
  /resources/configurations/v1/jwt-template-targeting/{id}:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    patch:
      operationId: JwtTemplateTargetingControllerV1_patchJwtTemplateTargeting
      summary: Update JWT Template Targeting Configuration by ID
      description: 'Updates a specific JWT template targeting configuration by ID. Note: This feature must be enabled by request.'
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateJwtTemplateTargetingRequestDto'
      responses:
        '200':
          description: ''
      tags:
      - Core Settings
      security:
      - bearer: []
    delete:
      operationId: JwtTemplateTargetingControllerV1_deleteJwtTemplateTargeting
      summary: Delete JWT Template Targeting Configuration by ID
      description: 'Deletes a specific JWT template targeting configuration by ID. Note: This feature must be enabled by request.'
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Core Settings
      security:
      - bearer: []
  /resources/jwt-templates/v1:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: JwtTemplatesController_createJwtTemplate
      summary: Create JWT Template
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateJwtTemplateDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JwtTemplateResponseDto'
      tags:
      - Core Settings
      description: 'Creates a new JWT template for your environment. Note: This feature must be enabled by request.'
      security:
      - bearer: []
    get:
      operationId: JwtTemplatesController_getJwtTemplates
      summary: Get All JWT Templates
      parameters:
      - name: keys
        required: false
        in: query
        description: Filter by template keys
        schema:
          type: array
          items:
            type: string
      - name: ids
        required: false
        in: query
        description: Filter by template IDs
        schema:
          type: array
          items:
            type: string
      - name: _limit
        required: false
        in: query
        description: Maximum number of items to return
        schema:
          minimum: 1
          type: number
      - name: _offset
        required: false
        in: query
        description: The page number to retrieve. For example, use 0 for the first page, 1 for the second page.
        schema:
          minimum: 0
          type: number
      - name: _sortBy
        required: false
        in: query
        description: Field to sort by
        schema:
          enum:
          - id
          - key
          - name
          - createdAt
          - updatedAt
          type: string
      - name: _order
        required: false
        in: query
        description: Sort order
        schema:
          enum:
          - ASC
          - DESC
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/FronteggPaginationWrapper'
                - properties:
                    items:
                      type: array
                      items:
                        $ref: '#/components/schemas/JwtTemplateResponseDto'
                    _links:
                      $ref: '#/components/schemas/FronteggPaginationLinks'
                    _metadata:
                      $ref: '#/components/schemas/FronteggPaginationMetadata'
      tags:
      - Core Settings
      description: 'Retrieves all JWT templates for your environment. Note: This feature must be enabled by request.'
      security:
      - bearer: []
  /resources/jwt-templates/v1/{id}:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    get:
      operationId: JwtTemplatesController_getJwtTemplateById
      summary: Get JWT Template by ID
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JwtTemplateResponseDto'
      tags:
      - Core Settings
      description: 'Retrieves a specific JWT template by ID. Note: This feature must be enabled by request.'
      security:
      - bearer: []
    put:
      operationId: JwtTemplatesController_updateJwtTemplate
      summary: Update JWT Template
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateJwtTemplateDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JwtTemplateResponseDto'
      tags:
      - Core Settings
      description: 'Updates an existing JWT template. Note: This feature must be enabled by request.'
      security:
      - bearer: []
    delete:
      operationId: JwtTemplatesController_deleteJwtTemplate
      summary: Delete JWT Template
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '204':
          description: ''
      tags:
      - Core Settings
      description: 'Deletes an existing JWT template. Note: This feature must be enabled by request.'
      security:
      - bearer: []
  /resources/configurations/v1/basic:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    get:
      operationId: VendorConfigController_getVendorConfigBasic
      summary: Get Identity Management Configuration
      description: Retrieve the identity management configuration for your environment.
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorConfigBasicResponse'
      tags:
      - Core Settings
      security:
      - bearer: []
components:
  schemas:
    FronteggPaginationWrapper:
      type: object
      properties: {}
    IdentityRuleDto:
      type: object
      properties:
        conditionLogic:
          type: string
          enum:
          - and
          description: The logic to combine conditions
        conditions:
          description: The conditions to evaluate
          type: array
          items:
            $ref: '#/components/schemas/IdentityConditionDto'
        treatment:
          type: string
          description: The treatment value (template key) if conditions match
      required:
      - conditionLogic
      - conditions
      - treatment
    JwtTemplateResponseDto:
      type: object
      properties:
        id:
          type: string
          description: Template ID
        vendorId:
          type: string
          description: Vendor ID
        key:
          type: string
          description: Unique key for the template
        name:
          type: string
          description: Name of the template
        description:
          type: string
          nullable: true
          description: Description of the template
        expiration:
          type: number
          description: Token expiration time in seconds
        algorithm:
          enum:
          - RS256
          - HS256
          type: string
          description: JWT signing algorithm
        templateSchema:
          description: JWT template schema
          allOf:
          - $ref: '#/components/schemas/JwtTemplatePayloadResponseDto'
        createdAt:
          format: date-time
          type: string
          description: Creation timestamp
        updatedAt:
          format: date-time
          type: string
          description: Last update timestamp
      required:
      - id
      - vendorId
      - key
      - name
      - expiration
      - algorithm
      - templateSchema
      - createdAt
      - updatedAt
    CreateJwtTemplateDto:
      type: object
      properties:
        key:
          type: string
          description: Unique key for the template
        name:
          type: string
          description: Name of the template
        description:
          type: string
          description: Description of the template
        expiration:
          type: number
          minimum: 10
          maximum: 15552000
          description: Token expiration time in seconds
        algorithm:
          enum:
          - RS256
          - HS256
          type: string
          description: JWT signing algorithm
        templateSchema:
          description: JWT template schema
          allOf:
          - $ref: '#/components/schemas/JwtTemplatePayloadDto'
      required:
      - key
      - name
      - expiration
      - algorithm
      - templateSchema
    VendorConfigBasicResponse:
      type: object
      properties:
        forcePermissions:
          type: boolean
        machineToMachineAuthStrategy:
          type: string
          enum:
          - ClientCredentials
          - AccessToken
      required:
      - forcePermissions
      - machineToMachineAuthStrategy
    VendorConfigResponse:
      type: object
      properties:
        id:
          type: string
        defaultTokenExpiration:
          type: number
        defaultRefreshTokenExpiration:
          type: number
        publicKey:
          type: string
        cookieSameSite:
          enum:
          - STRICT
          - LAX
          - NONE
          type: string
        allowSignups:
          type: boolean
        apiTokensEnabled:
          type: boolean
        allowOverridePasswordComplexity:
          type: boolean
        allowOverridePasswordExpiration:
          type: boolean
        allowOverrideEnforcePasswordHistory:
          type: boolean
        jwtAlgorithm:
          enum:
          - RS256
          - HS256
          type: string
        jwtSecret:
          type: string
        allowNotVerifiedUsersLogin:
          type: boolean
        forcePermissions:
          type: boolean
        authStrategy:
          enum:
          - EmailAndPassword
          - MagicLink
          - Code
          - NoLocalAuthentication
          - SmsCode
          - UsernameAndPassword
          - UsernameAndMagicLink
          - UsernameAndCode
          - UsernameAndSms
          type: string
        defaultPasswordlessTokenExpiration:
          type: number
        forceSameDeviceOnAuth:
          type: boolean
        allowTenantInvitations:
          type: boolean
        rotateRefreshTokens:
          type: boolean
        machineToMachineAuthStrategy:
          enum:
          - ClientCredentials
          - AccessToken
          type: string
        addRolesToJwt:
          type: boolean
        addPermissionsToJwt:
          type: boolean
        refreshTokensRotationLimit:
          type: number
        addSamlAttributesToJwt:
          type: boolean
        allowCustomLoginTenantSwitch:
          type: boolean
      required:
      - id
      - defaultTokenExpiration
      - defaultRefreshTokenExpiration
      - publicKey
      - cookieSameSite
      - allowSignups
      - apiTokensEnabled
      - allowOverridePasswordComplexity
      - allowOverridePasswordExpiration
      - allowOverrideEnforcePasswordHistory
      - jwtAlgorithm
      - jwtSecret
      - allowNotVerifiedUsersLogin
      - forcePermissions
      - authStrategy
      - defaultPasswordlessTokenExpiration
      - forceSameDeviceOnAuth
      - allowTenantInvitations
      - rotateRefreshTokens
      - machineToMachineAuthStrategy
      - addRolesToJwt
      - addPermissionsToJwt
      - refreshTokensRotationLimit
      - addSamlAttributesToJwt
      - allowCustomLoginTenantSwitch
    VendorConfigRequest:
      type: object
      properties:
        defaultTokenExpiration:
          type: number
        defaultRefreshTokenExpiration:
          type: number
          maximum: 15552000
        cookieSameSite:
          enum:
          - STRICT
          - LAX
          - NONE
          type: string
        machineToMachineAuthStrategy:
          enum:
          - ClientCredentials
          - AccessToken
          type: string
        allowSignups:
          type: boolean
        apiTokensEnabled:
          type: boolean
        allowOverridePasswordComplexity:
          type: boolean
        allowOverridePasswordExpiration:
          type: boolean
        allowOverrideEnforcePasswordHistory:
          type: boolean
        jwtAlgorithm:
          enum:
          - HS256
          - RS256
          type: string
        allowNotVerifiedUsersLogin:
          type: boolean
        forcePermissions:
          type: boolean
        addSamlAttributesToJwt:
          type: boolean
        authStrategy:
          enum:
          - Code
          - EmailAndPassword
          - MagicLink
          - NoLocalAuthentication
          - SmsCode
          type: string
        defaultPasswordlessTokenExpiration:
          type: number
        forceSameDeviceOnAuth:
          type: boolean
        allowTenantInvitations:
          type: boolean
        rotateRefreshTokens:
          type: boolean
        skipTenantValidation:
          type: boolean
        addRolesToJwt:
          type: boolean
        addPermissionsToJwt:
          type: boolean
        allowCustomLoginTenantSwitch:
          type: boolean
    FronteggPaginationMetadata:
      type: object
      properties:
        totalItems:
          type: number
        totalPages:
          type: number
      required:
      - totalItems
      - totalPages
    FronteggPaginationLinks:
      type: object
      properties:
        next:
          type: string
        prev:
          type: string
        first:
          type: string
        last:
          type: string
      required:
      - next
      - prev
      - first
      - last
    CaptchaPolicyResponse:
      type: object
      properties:
        id:
          type: string
        siteKey:
          type: string
        secretKey:
          type: string
        enabled:
          type: boolean
        minScore:
          type: number
        ignoredEmails:
          type: array
          items:
            type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - siteKey
      - secretKey
      - enabled
      - minScore
      - ignoredEmails
      - createdAt
      - updatedAt
    CaptchaPolicyRequest:
      type: object
      properties:
        enabled:
          type: boolean
        siteKey:
          type: string
        secretKey:
          type: string
        minScore:
          type: number
        ignoredEmails:
          description: Captcha validation will be skipped for those emails.
          type: array
          items:
            type: string
      required:
      - enabled
      - siteKey
      - secretKey
      - minScore
    UpdateJwtTemplateTargetingRequestDto:
      type: object
      properties:
        rules:
          type: array
          items:
            $ref: '#/components/schemas/IdentityRuleDto'
    JwtTemplatePayloadDto:
      type: object
      properties:
        claims:
          type: object
          description: Claims mapping as key-value pairs
      required:
      - claims
    JwtTemplateTargetingResponseDto:
      type: object
      properties:
        id:
          type: string
          description: Jwt template targeting ID
        createdAt:
          format: date-time
          type: string
          description: Created at
        updatedAt:
          format: date-time
          type: string
          description: Last updated at
        targeting:
          type: object
          description: Targeting rules
      required:
      - id
      - createdAt
      - updatedAt
      - targeting
    UpdateJwtTemplateDto:
      type: object
      properties:
        key:
          type: string
          description: Unique key for the template
        name:
          type: string
          description: Name of the template
        description:
          type: string
          description: Description of the template
        expiration:
          type: number
          minimum: 10
          maximum: 15552000
          description: Token expiration time in seconds
        algorithm:
          enum:
          - RS256
          - HS256
          type: string
          description: JWT signing algorithm
        templateSchema:
          description: JWT template schema
          allOf:
          - $ref: '#/components/schemas/JwtTemplatePayloadDto'
    JwtTemplatePayloadResponseDto:
      type: object
      properties:
        claims:
          type: object
          description: Claims mapping as key-value pairs
      required:
      - claims
    IdentityConditionDto:
      type: object
      properties:
        attribute:
          enum:
          - userId
          - applicationId
          - tenantId
          - roleIds
          - tokenType
          - userEmail
          type: string
          description: The attribute to evaluate
        op:
          enum:
          - in_list
          - contains
          - ends_with
          type: string
          description: The operation to apply
        value:
          type: object
          description: The value to compare against
        negate:
          type: boolean
          description: The negate flag
      required:
      - attribute
      - op
      - value
      - negate
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
x-tagGroups:
- name: Management
  tags:
  - Applications settings