HomeGuidesAPI Reference
Guides

User Roles & Permissions

User Types

User Type is the foundational classification of every user in the system. It defines the structural access boundary — the absolute ceiling of what a user can see or do. Every user must have exactly one User Type.

User TypeScope
Super AdminFull system access
PartnerManages multiple merchants
MerchantManages business, users, and roles
BranchOperates under a merchant
TerminalLimited to transaction operations
UserAccess based on assigned role
❗️

User Type is system-defined and cannot be modified through role or permission assignment.


User Roles

A Role is a named, reusable collection of permissions. While User Type defines the access boundary, Role defines what actions a user can perform within that boundary.

Roles are operational, not structural they are assigned to users and can be reassigned or updated without changing the user's type.


Permissions

Permissions are the atomic units of access control. Each permission is the combination of a module and an action, and every role is a discrete set of these combinations.

Actions

ActionDefinition
ReadView existing records
WriteCreate new records
EditModify existing records
DeleteRemove records permanently
ExportExtract data outside the system

Modules

ModuleDescription
Payment LinkLink-based payment requests
TerminalPOS terminal operations
ConfigSystem-level configuration
Theme ConfigInterface appearance settings
BranchBranch entity management
MerchantMerchant entity management
DashboardAggregated analytics view
UserUser account management
PartnerPartner entity management
RoleRole definition and assignment
OnboardingMerchant onboarding workflows
PayoutOutbound payment operations
Threat LogsFraud and risk event log
Audit LogsSystem activity trail
TransactionTransaction records and history
Initiate Payment LinkPayment link generation
ReconciliationTransaction matching and settlement

Access Determination

A user's effective access is the product of three additive layers, evaluated in sequence:

LayerFunction
User TypeDefines the maximum permissible boundary
RoleApplies a predefined permission set within that boundary
User-Level OverridesAdjusts specific permissions for an individual user

User-level overrides allow per-user adjustments without creating a dedicated role. Overrides cannot exceed the User Type ceiling under any condition.

🚧

Management Scope

Users can create, edit, or delete users and roles only if they are lower in the hierarchy.