Skip to content

DoCurious API Reference / types / UserRole

Type Alias: UserRole

UserRole = "user" | "vendor" | "platform_admin" | "head_school_admin" | "school_admin" | "teacher" | "student" | "parent" | "staff"

Defined in: types/user.types.ts:24

Primary role assigned to every user account.

Remarks

Each user holds exactly one role. School-related roles (student, teacher, school_admin, head_school_admin) require a schoolId on the User record. The vendor role triggers the vendor onboarding flow.

  • user -- General user (personal challenge doer)
  • vendor -- Marketplace vendor who creates paid challenges
  • platform_admin -- DoCurious platform administrator (full access)
  • head_school_admin -- Head School Administrator (can create other admins)
  • school_admin -- School Administrator (SA)
  • teacher -- Teacher within a school
  • student -- Student within a school
  • parent -- Parent/Guardian linked to child accounts
  • staff -- DoCurious internal staff (verification, support)

DoCurious Platform Documentation