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