Entitlements Overview

The Entitlements Engine is powered by the isEntitledTo query and is designed to manage and control user access within your application. It enables you to grant users specific roles, permissions, feature access, and more, providing a flexible framework for access management.

Below is an overview of API endpoints relevant to managing features, plans, feature flags, and API access control within your application. All endpoints are classified as Management Endpoints, requiring environment-level authorization and offering comprehensive control over entitlement resources.

Languages
Servers
EU Region
https://api.frontegg.com/entitlements/
US Region
https://api.us.frontegg.com/entitlements/
CA Region
https://api.ca.frontegg.com/entitlements/
AU Region
https://api.au.frontegg.com/entitlements/
Frontegg sub-domain for use with user tokens
https://{domain}.frontegg.com/entitlements/

Features

Operations

Plans

Operations

Entitlements

Operations

Feature Flags

Operations

API Access Control

Operations

Get Routes

Request

Retrieve all routes

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

Responses

Bodyapplication/jsonArray [
idstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
methodstringread-onlyrequired
Enum"GET""POST""PUT""PATCH""DELETE""*"
Example: "GET"
pathstringread-onlyrequired
Example: "/users"
prioritynumberread-onlyrequired
Example: 100
descriptionstringread-onlyrequired
Example: "This is an example route"
policyTypestringread-onlyrequired
Enum"allow""deny""ruleBased"
Example: "allow"
rulesArray of objects(RouteRuleDto)read-onlyrequired
rules[].​idstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
rules[].​routeIdstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
rules[].​typestringread-onlyrequired
Enum"feature""permission"
Example: "feature"
rules[].​valuestringread-onlyrequired
Example: "my-feature-key"
]
Response
application/json
[ { "id": "b796239c-6641-4cf3-9ff3-658ad4049131", "method": "GET", "path": "/users", "priority": 100, "description": "This is an example route", "policyType": "allow", "rules": [ … ] } ]

Create Route

Request

Create a new route

Bodyapplication/jsonrequired
methodstringrequired

Http Method

Enum"GET""POST""PUT""PATCH""DELETE""*"
Example: "GET"
pathstringrequired

Route path

Example: "/users"
policyTypestringrequired

Route policy type

Enum"allow""deny""ruleBased"
Example: "allow"
descriptionstringrequired

Route description

Example: "This is an example route"
curl -i -X POST \
  https://api.frontegg.com/entitlements/resources/routes/v1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "method": "GET",
    "path": "/users",
    "policyType": "allow",
    "description": "This is an example route"
  }'

Responses

Bodyapplication/json
idstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
methodstringread-onlyrequired
Enum"GET""POST""PUT""PATCH""DELETE""*"
Example: "GET"
pathstringread-onlyrequired
Example: "/users"
prioritynumberread-onlyrequired
Example: 100
descriptionstringread-onlyrequired
Example: "This is an example route"
policyTypestringread-onlyrequired
Enum"allow""deny""ruleBased"
Example: "allow"
rulesArray of objects(RouteRuleDto)read-onlyrequired
rules[].​idstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
rules[].​routeIdstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
rules[].​typestringread-onlyrequired
Enum"feature""permission"
Example: "feature"
rules[].​valuestringread-onlyrequired
Example: "my-feature-key"
Response
application/json
{ "id": "b796239c-6641-4cf3-9ff3-658ad4049131", "method": "GET", "path": "/users", "priority": 100, "description": "This is an example route", "policyType": "allow", "rules": [ { … } ] }

Get Single Route

Request

Retrieve a single route

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

Responses

Bodyapplication/json
idstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
methodstringread-onlyrequired
Enum"GET""POST""PUT""PATCH""DELETE""*"
Example: "GET"
pathstringread-onlyrequired
Example: "/users"
prioritynumberread-onlyrequired
Example: 100
descriptionstringread-onlyrequired
Example: "This is an example route"
policyTypestringread-onlyrequired
Enum"allow""deny""ruleBased"
Example: "allow"
rulesArray of objects(RouteRuleDto)read-onlyrequired
rules[].​idstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
rules[].​routeIdstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
rules[].​typestringread-onlyrequired
Enum"feature""permission"
Example: "feature"
rules[].​valuestringread-onlyrequired
Example: "my-feature-key"
Response
application/json
{ "id": "b796239c-6641-4cf3-9ff3-658ad4049131", "method": "GET", "path": "/users", "priority": 100, "description": "This is an example route", "policyType": "allow", "rules": [ { … } ] }

Delete Route

Request

Delete a route

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

Responses

Update Route

Request

Update an existing route

Path
idstringrequired
Bodyapplication/jsonrequired
methodstringrequired

Http Method

Enum"GET""POST""PUT""PATCH""DELETE""*"
Example: "GET"
pathstringrequired

Route path

Example: "/users"
policyTypestringrequired

Route policy type

Enum"allow""deny""ruleBased"
Example: "allow"
descriptionstringrequired

Route description

Example: "This is an example route"
curl -i -X PATCH \
  'https://api.frontegg.com/entitlements/resources/routes/v1/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "method": "GET",
    "path": "/users",
    "policyType": "allow",
    "description": "This is an example route"
  }'

Responses

Bodyapplication/json
idstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
methodstringread-onlyrequired
Enum"GET""POST""PUT""PATCH""DELETE""*"
Example: "GET"
pathstringread-onlyrequired
Example: "/users"
prioritynumberread-onlyrequired
Example: 100
descriptionstringread-onlyrequired
Example: "This is an example route"
policyTypestringread-onlyrequired
Enum"allow""deny""ruleBased"
Example: "allow"
rulesArray of objects(RouteRuleDto)read-onlyrequired
rules[].​idstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
rules[].​routeIdstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
rules[].​typestringread-onlyrequired
Enum"feature""permission"
Example: "feature"
rules[].​valuestringread-onlyrequired
Example: "my-feature-key"
Response
application/json
{ "id": "b796239c-6641-4cf3-9ff3-658ad4049131", "method": "GET", "path": "/users", "priority": 100, "description": "This is an example route", "policyType": "allow", "rules": [ { … } ] }

Import Open API

Request

Imports an Open API specifications in JSON format

curl -i -X POST \
  https://api.frontegg.com/entitlements/resources/routes/v1/import-open-api \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Create or Replace Route Rules

Request

Create or replace route rules

Path
idstringrequired
Bodyapplication/jsonrequired
rulesArray of objects(CreateRouteRuleDto)required

Set of route rules

rules[].​typestringrequired

Rule type - can be either "feature" or "permission"

Enum"feature""permission"
Example: "feature"
rules[].​valuestringrequired

Rule value - represents a reference key to the rule type entity

Example: "my-feature-key"
curl -i -X PUT \
  'https://api.frontegg.com/entitlements/resources/routes/v1/{id}/rules' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "rules": [
      {
        "type": "feature",
        "value": "my-feature-key"
      }
    ]
  }'

Responses

Bodyapplication/jsonArray [
idstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
routeIdstringread-onlyrequired
Example: "b796239c-6641-4cf3-9ff3-658ad4049131"
typestringread-onlyrequired
Enum"feature""permission"
Example: "feature"
valuestringread-onlyrequired
Example: "my-feature-key"
]
Response
application/json
[ { "id": "b796239c-6641-4cf3-9ff3-658ad4049131", "routeId": "b796239c-6641-4cf3-9ff3-658ad4049131", "type": "feature", "value": "my-feature-key" } ]