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.
https://api.frontegg.com/entitlements/
https://api.us.frontegg.com/entitlements/
https://api.ca.frontegg.com/entitlements/
https://api.au.frontegg.com/entitlements/
https://{domain}.frontegg.com/entitlements/
Array of rules that represents the set of conditions targeting the plan
Number that represents the default time limitation in days for auto-assigned plans
Boolean indicating whether a plan is assigned automatically upon signup
https://api.frontegg.com/entitlements/resources/plans/v1/{id}
https://api.us.frontegg.com/entitlements/resources/plans/v1/{id}
https://api.ca.frontegg.com/entitlements/resources/plans/v1/{id}
https://api.au.frontegg.com/entitlements/resources/plans/v1/{id}
https://app-xxx.frontegg.com/entitlements/resources/plans/v1/{id}
curl -i -X PATCH \
'https://api.frontegg.com/entitlements/resources/plans/v1/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Test Plan",
"defaultTreatment": "true",
"rules": [
{
"description": "This is the first rule",
"conditionLogic": "and",
"conditions": [
{
"attribute": "myCustomAttribute",
"attributeType": "custom",
"negate": false,
"op": "in_list",
"value": {
"list": [
"valueA",
"valueB"
]
}
}
],
"treatment": "true"
}
],
"description": "This is a test plan",
"metadata": "{ \"some-key\": \"some-value\" }",
"defaultTimeLimitation": "30",
"assignOnSignup": "true",
"featureKeys": "[\"my-cool-feature\"]"
}'
UUID string that represents the plan ID
UUID string that represents the vendor ID
Array of rules that represents the set of conditions targeting the plan
Number that represents the default time limitation in days for auto-assigned plans
Boolean indicating whether a plan is assigned automatically upon signup
{ "id": "e6a5012c-cbeb-4c1e-ab80-e5f43efd44e3", "vendorId": "e6a5012c-cbeb-4c1e-ab80-e5f43efd44e3", "name": "Test Plan", "defaultTreatment": "true", "rules": [ { … } ], "description": "This is a test plan", "metadata": "{ \"some-key\": \"some-value\" }", "defaultTimeLimitation": "30", "assignOnSignup": "true", "createdAt": "2022-01-01T00:00:00", "updatedAt": "2022-01-01T00:00:00", "features": { "id": "e6a5012c-cbeb-4c1e-ab80-e5f43efd44e3", "name": "Test Feature", "key": "test-feature", "permissions": [ … ] }, "entitlements": { "id": "e6a5012c-cbeb-4c1e-ab80-e5f43efd44e3", "planId": "e6a5012c-cbeb-4c1e-ab80-e5f43efd44e3", "tenantId": "e6a5012c-cbeb-4c1e-ab80-e5f43efd44e3", "userId": "e6a5012c-cbeb-4c1e-ab80-e5f43efd44e3", "expirationDate": "2022-01-01T12:00:00", "createdAt": "2022-01-01T12:00:00", "updatedAt": "2022-01-01T12:00:00", "plan": { … } } }
https://api.frontegg.com/entitlements/resources/plans/v1/{id}
https://api.us.frontegg.com/entitlements/resources/plans/v1/{id}
https://api.ca.frontegg.com/entitlements/resources/plans/v1/{id}
https://api.au.frontegg.com/entitlements/resources/plans/v1/{id}
https://app-xxx.frontegg.com/entitlements/resources/plans/v1/{id}
curl -i -X DELETE \
'https://api.frontegg.com/entitlements/resources/plans/v1/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'
Order fields by date created (createdAt
) or expired (expirationDate
)
Sort fields by an ascending (ASC
) or a decending (DESC
) order
Comma separated feature IDs that can be used to filter the results
Comma separated permission keys that can be used to filter the results
Filter out features that are linked/not linked to feature-flag
https://api.frontegg.com/entitlements/resources/plans/v1/{id}/features
https://api.us.frontegg.com/entitlements/resources/plans/v1/{id}/features
https://api.ca.frontegg.com/entitlements/resources/plans/v1/{id}/features
https://api.au.frontegg.com/entitlements/resources/plans/v1/{id}/features
https://app-xxx.frontegg.com/entitlements/resources/plans/v1/{id}/features
curl -i -X GET \
'https://api.frontegg.com/entitlements/resources/plans/v1/{id}/features' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'
{ "items": [ { … } ], "hasNext": true }