FeatureAccess
List Feature Access
Resolve the caller's per-feature access matrix aggregating permission, sector and plan scopes plus any upsell restriction notice and page banner. Returns a major matrix (the caller's own access) and a minor matrix (admin/merchant only — computed against their secondary subscriber-mirror permission; null for subscribers). Advisory for client-side gating only, not server enforcement.
Authorization
default AuthorizationBearer <token>
You can retrieve your token by logging in.
In: header
Query Parameters
feature_key?|
Narrow the matrix to a single feature by its key.
Header Parameters
X-API-Version*string
API contract version to target. See the Changelog for what changed in each version.
Default
"2.0.0"Value in
"2.3.0" | "2.2.0" | "2.1.0" | "2.0.0"Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.flavours.sa/dev/api/v2/features/access?feature_key=PRODUCT" \ -H "X-API-Version: 2.3.0"{
"meta": {
"code": 200,
"status": "success",
"message": "Feature access matrix retrieved successfully."
},
"data": {
"major": [
{
"feature_key": "ACCOUNT",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "ACCOUNT_CREATE",
"authorize": true
},
{
"control_key": "ACCOUNT_UPDATE",
"authorize": true
},
{
"control_key": "ACCOUNT_DELETE",
"authorize": true
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "APPLICATION",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "ASSISTANCE",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "BANNER",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "COUNTRY",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "DASHBOARD",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "DEPLOYMENT",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "FEATURE_SYSTEM",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "GENERAL_SETTINGS",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "INVOICE",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "INVOICE_RENEWAL",
"authorize": true
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "MERCHANT",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "ORDER_TYPE",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "ORDER_TYPE_CREATE",
"authorize": true
},
{
"control_key": "ORDER_TYPE_UPDATE",
"authorize": true
},
{
"control_key": "ORDER_TYPE_DELETE",
"authorize": true
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "PAYMENT_METHOD",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "PAYMENT_TRANSFER",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "PERMISSION",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "PERMISSION_CREATE",
"authorize": true
},
{
"control_key": "PERMISSION_UPDATE",
"authorize": true
},
{
"control_key": "PERMISSION_DELETE",
"authorize": true
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "PLAN",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "PRINTER_TYPE",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "PRODUCT_CATEGORY",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "PRODUCT_CATEGORY_CREATE",
"authorize": true
},
{
"control_key": "PRODUCT_CATEGORY_UPDATE",
"authorize": true
},
{
"control_key": "PRODUCT_CATEGORY_DELETE",
"authorize": true
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "REPORT_ORDER",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "REPORT_PRODUCT",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "REPORT_SUMMARY",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "RESTRICTION_NOTICE",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "SECTOR",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "SMS",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "SUBSCRIBER",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "SUBSCRIBER_CREATE",
"authorize": true
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "TERM_CONDITION",
"authorize": true,
"scopes": {
"permission": true,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
}
],
"minor": [
{
"feature_key": "ACCOUNT",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "ACCOUNT_CREATE",
"authorize": false
},
{
"control_key": "ACCOUNT_UPDATE",
"authorize": false
},
{
"control_key": "ACCOUNT_DELETE",
"authorize": false
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "ACCOUNTING_PURCHASE",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "ACCOUNTING_RESUPPLY",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "RESUPPLY_VERIFY",
"authorize": false
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "ACCOUNTING_SUPPLIER",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "ADVERTISEMENT",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "APPLICATION",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "AUTHENTICATION",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "BRANCH",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": {
"id": "c4b2e593-f3b8-4185-94df-7d0c6705bdb6",
"title_en": "Labore est accusantium.",
"title_ar": "Incidunt alias ex.",
"description_en": "Cumque ut et et dolor hic. Consequatur voluptatum possimus dolorum commodi. Sit in laboriosam ut est rerum praesentium aperiam aliquam.",
"description_ar": "Voluptatem eligendi quae in placeat deserunt necessitatibus. Dignissimos officia asperiores quia voluptas perspiciatis est cum. Omnis praesentium voluptatibus et consequuntur quod fuga laborum.",
"cover_img": "https://via.placeholder.com/640x480.png/009922?text=nemo",
"button_url": "http://schmeler.com/eos-molestiae-et-doloremque-fugiat-harum",
"button_label_en": "Learn More",
"button_label_ar": "اعرف المزيد"
}
},
{
"feature_key": "BULK_IMPORT",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "PRODUCT_IMPORT",
"authorize": false
},
{
"control_key": "PRODUCT_CATEGORY_IMPORT",
"authorize": false
},
{
"control_key": "CUSTOMER_IMPORT",
"authorize": false
},
{
"control_key": "INGREDIENT_IMPORT",
"authorize": false
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "CUSTOMER",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": {
"id": "c4b2e593-f3b8-4185-94df-7d0c6705bdb6",
"title_en": "Labore est accusantium.",
"title_ar": "Incidunt alias ex.",
"description_en": "Cumque ut et et dolor hic. Consequatur voluptatum possimus dolorum commodi. Sit in laboriosam ut est rerum praesentium aperiam aliquam.",
"description_ar": "Voluptatem eligendi quae in placeat deserunt necessitatibus. Dignissimos officia asperiores quia voluptas perspiciatis est cum. Omnis praesentium voluptatibus et consequuntur quod fuga laborum.",
"cover_img": "https://via.placeholder.com/640x480.png/009922?text=nemo",
"button_url": "http://schmeler.com/eos-molestiae-et-doloremque-fugiat-harum",
"button_label_en": "Learn More",
"button_label_ar": "اعرف المزيد"
}
},
{
"feature_key": "DASHBOARD",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": {
"id": "c4b2e593-f3b8-4185-94df-7d0c6705bdb6",
"title_en": "Labore est accusantium.",
"title_ar": "Incidunt alias ex.",
"description_en": "Cumque ut et et dolor hic. Consequatur voluptatum possimus dolorum commodi. Sit in laboriosam ut est rerum praesentium aperiam aliquam.",
"description_ar": "Voluptatem eligendi quae in placeat deserunt necessitatibus. Dignissimos officia asperiores quia voluptas perspiciatis est cum. Omnis praesentium voluptatibus et consequuntur quod fuga laborum.",
"cover_img": "https://via.placeholder.com/640x480.png/009922?text=nemo",
"button_url": "http://schmeler.com/eos-molestiae-et-doloremque-fugiat-harum",
"button_label_en": "Learn More",
"button_label_ar": "اعرف المزيد"
}
},
{
"feature_key": "DEVICE",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "DISCOUNT",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "DRIVER",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "GENERAL_SETTINGS",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "INVENTORY_INGREDIENT",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "INVENTORY_RECIPE",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "INVENTORY_FACTORY",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "KITCHEN",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "ORDER",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "ORDER_CASH_DRAWER",
"authorize": false
},
{
"control_key": "ORDER_FAST_OFFER",
"authorize": false
},
{
"control_key": "ORDER_PAY_NOW",
"authorize": false
},
{
"control_key": "ORDER_PAY_LATER",
"authorize": false
},
{
"control_key": "ORDER_PRINT_INVOICE",
"authorize": false
},
{
"control_key": "ORDER_RETURN",
"authorize": false
},
{
"control_key": "ORDER_SPLIT_PAYMENT",
"authorize": false
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "ORDER_TYPE",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "ORDER_TYPE_CREATE",
"authorize": false
},
{
"control_key": "ORDER_TYPE_UPDATE",
"authorize": false
},
{
"control_key": "ORDER_TYPE_DELETE",
"authorize": false
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "PAYMENT_METHOD",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "PAYMENT_TRANSFER",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "PERMISSION",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "PERMISSION_CREATE",
"authorize": false
},
{
"control_key": "PERMISSION_UPDATE",
"authorize": false
},
{
"control_key": "PERMISSION_DELETE",
"authorize": false
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "PRODUCT",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "PRODUCT_CATEGORY",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [
{
"control_key": "PRODUCT_CATEGORY_CREATE",
"authorize": false
},
{
"control_key": "PRODUCT_CATEGORY_UPDATE",
"authorize": false
},
{
"control_key": "PRODUCT_CATEGORY_DELETE",
"authorize": false
}
],
"restriction": null,
"banner": null
},
{
"feature_key": "PROFILE",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "RATING",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "REPORT_ATTENDANCE",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "REPORT_ORDER",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "REPORT_PRODUCT",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "REPORT_PURCHASE",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": {
"id": "d97a63a7-bded-4266-ab3e-ed7041d15afd",
"title_en": "Minus cum rerum qui.",
"title_ar": "Et aspernatur omnis.",
"description_en": "Deleniti quia qui hic et voluptatem minus quia. Dolor et aliquid qui architecto optio iure. Consequuntur inventore placeat dolor est illum est aut. Quibusdam maiores tempora velit itaque autem.",
"description_ar": "Adipisci vel at vel id placeat. Modi perferendis incidunt similique. Debitis natus harum eveniet ex non reiciendis.",
"cover_img": "https://via.placeholder.com/640x480.png/006622?text=nisi",
"button_url": "http://www.denesik.com/",
"button_label_en": "Learn More",
"button_label_ar": "اعرف المزيد"
}
},
{
"feature_key": "REPORT_SUMMARY",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "SCHEDULE",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "SCREEN_CASHIER",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "SCREEN_CUSTOMER",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "SCREEN_WAITING",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "SUBSCRIPTION",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "TABLE",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
},
{
"feature_key": "TAX",
"authorize": false,
"scopes": {
"permission": false,
"sector": true,
"plan": true
},
"controls": [],
"restriction": null,
"banner": null
}
]
}
}{
"meta": {
"code": 401,
"status": "error",
"message": "Unauthenticated."
},
"data": null
}{
"meta": {
"code": 403,
"status": "error",
"message": "Unauthorized."
},
"data": null
}{
"meta": {
"code": 404,
"status": "error",
"message": "Resource not found."
},
"data": null
}{
"meta": {
"code": 500,
"status": "error",
"message": "Internal server error."
},
"data": null
}