Roles & Permissions
Last updated: 2026-07-06
Role-Based Access Control (RBAC)
HaMi Code Việt uses a role-based access control system. Each role has a different set of permissions that determine what actions a user can perform.
Role List
| Role | Description |
|---|---|
| super_admin | Super administrator, all permissions |
| admin | Administrator, all except role.manage and settings.write |
| platform_admin | Platform administrator |
| content_admin | Content administrator |
| moderator | Content review, basic user management |
| creator | Create content, submit for review |
| teacher | Teacher, create classes |
| mentor | Mentor, guide projects |
| reviewer | Grade submissions |
| guardian | Parent, manage children |
| learner | Learner |
| school_admin | School administrator |
| org_admin | Organization administrator |
| support_agent | Support staff |
| finance_admin | Finance administrator |
| safety_officer | Safety officer |
| compliance_officer | Compliance officer |
| security_admin | Security administrator |
Permissions
The system has over 19 permissions, including:
role.manage— Assign/revoke rolescontent.review— Review contentcontent.submit— Submit contentcontent.publish— Publish contentcreator.onboard— Approve Creatorsfactory.run— Run Course Factorypayout.read— View payoutsaudit.read— View audit logssecurity.view— View security eventsusers.read,users.write,users.deletecourse.write,course.delete- ...and more
Assigning Roles
Admins can assign roles via the API:
POST /admin/users/:id/roles
{ "roleId": "creator" }
DELETE /admin/users/:id/roles/:roleId