admin, instructor, or learner — which control what they can see and do.
Only
admin users can create, update, or delete other users. Instructors and learners can read their own user record via GET /api/v1/users/:id.Role reference
admin
admin
Full access to all API resources. Can manage users, courses, enrollments, and assessments across the entire platform.
instructor
instructor
Can create and manage their own courses and assessments. Can view enrolled learners’ progress. Cannot manage other users.
learner
learner
Can view published courses they are enrolled in, submit assessments, and track their own progress. Read-only access.
The user object
Unique identifier for the user. Format:
usr_<alphanumeric>.The user’s full name.
The user’s email address. Must be unique across the platform.
The user’s role. One of
admin, instructor, or learner.ISO 8601 timestamp of when the user account was created.
ISO 8601 timestamp of the user’s most recent successful login.
null if the user has never logged in.List users
GET /api/v1/users
Returns a paginated list of all user accounts. Requires the admin role.
Query parameters
Page number to retrieve.
Number of users per page. Maximum 100.
Filter by user role. One of
admin, instructor, or learner.Example
Get a user
GET /api/v1/users/:id
Returns a single user by their ID. Admins can retrieve any user. Non-admin users can only retrieve their own record.
Create a user
POST /api/v1/users
Creates a new user account. Requires the admin role.
Request body
The user’s full name. Between 2 and 100 characters.
The user’s email address. Must be unique across the platform.
Initial password for the account. Minimum 8 characters. Users can change this after first login.
The user’s role. Must be one of
admin, instructor, or learner.Example
Update a user
PUT /api/v1/users/:id
Updates an existing user account. Admins can update any user. Non-admin users can only update their own name and password.
Delete a user
DELETE /api/v1/users/:id
Permanently deletes a user account. Requires the admin role.
