Frontegg Entitlements Check API

The Entitlements Check API from Frontegg — 3 operation(s) for entitlements check.

Documentation

Specifications

Other Resources

OpenAPI Specification

frontegg-entitlements-check-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Multi-Apps Overview Account Invitations Entitlements Check 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: Entitlements Check
  x-displayName: Entitlements Check
paths:
  /v1/data/e10s/features/is_entitled_to_input_feature:
    servers:
    - url: http://{host}:{port}
      variables:
        host:
          default: localhost
        port:
          default: '8181'
    post:
      operationId: OpenApiPDPController_isEntitledToFeature
      summary: Is Entitled to Feature
      description: Check whether a specific account (tenant) or user is entitled to access a requested feature based on their permissions, attributes, and entitlement configuration.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                input:
                  properties:
                    subjectContext:
                      $ref: '#/components/schemas/SubjectContext'
                    requestContext:
                      $ref: '#/components/schemas/IsEntitledToFeatureDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PDPResponse'
      tags:
      - Entitlements Check
  /v1/data/e10s/permissions/is_entitled_to_input_permission:
    servers:
    - url: http://{host}:{port}
      variables:
        host:
          default: localhost
        port:
          default: '8181'
    post:
      operationId: OpenApiPDPController_isEntitledToPermission
      summary: Is Entitled to Permission
      description: Check whether a specific user is entitled to access a requested permission based on their role assignments and account (tenant) configuration.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                input:
                  properties:
                    subjectContext:
                      $ref: '#/components/schemas/SubjectContext'
                    requestContext:
                      $ref: '#/components/schemas/IsEntitledToPermissionDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PDPResponse'
      tags:
      - Entitlements Check
  /v1/data/e10s/routes/is_entitled_to_input_route:
    servers:
    - url: http://{host}:{port}
      variables:
        host:
          default: localhost
        port:
          default: '8181'
    post:
      operationId: OpenApiPDPController_isEntitledToRoute
      summary: Is Entitled to Route
      description: Check whether a specific account (tenant) or user is entitled to access a requested route based on the HTTP method, path, and their associated permissions or feature entitlements.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                input:
                  properties:
                    subjectContext:
                      $ref: '#/components/schemas/SubjectContext'
                    requestContext:
                      $ref: '#/components/schemas/IsEntitledToRouteDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PDPResponse'
      tags:
      - Entitlements Check
components:
  schemas:
    IsEntitledToRouteDto:
      type: object
      properties:
        method:
          type: string
          enum:
          - GET
          - POST
          - PUT
          - PATCH
          - DELETE
          - '*'
          example: GET
        path:
          type: string
          example: /example
      required:
      - method
      - path
    IsEntitledToFeatureDto:
      type: object
      properties:
        featureKey:
          type: string
          example: example-feature-key
      required:
      - featureKey
    PDPResponse:
      type: object
      properties:
        decision_id:
          type: string
          example: df5dae62-be02-4333-bbe1-f7220e13c6c3
        metrics:
          type: object
        result:
          $ref: '#/components/schemas/EntitlementsResult'
      required:
      - decision_id
      - metrics
      - result
    IsEntitledToPermissionDto:
      type: object
      properties:
        permissionKey:
          type: string
          example: example.permission.read
      required:
      - permissionKey
    SubjectContext:
      type: object
      properties:
        userId:
          type: string
          example: 6c2ce177-66cd-4163-a012-b7833255a490
        tenantId:
          type: string
          example: f21ca66c-d23b-496f-b805-121ed37eb46a
        permissions:
          example:
          - example.permission.read
          - example.permission.write
          type: array
          items:
            type: string
        attributes:
          type: object
          example:
            exampleAttribute: example-value
      required:
      - tenantId
    EntitlementsResult:
      type: object
      properties:
        justification:
          type: string
          enum:
          - MISSING_FEATURE
          - MISSING_PERMISSION
          - PLAN_EXPIRED
          - MISSING_ROUTE
          - ROUTE_DENIED
          example: MISSING_FEATURE
        monitoring:
          type: boolean
        result:
          type: boolean
          example: false
      required:
      - result
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
x-tagGroups:
- name: Management
  tags:
  - Applications settings