Skip to main content

Users

Manage the authenticated user's profile and, for admins, the organization's user roster.


Get current user

GET /api/user

Response 200

{
"_id": "64a1b2c3d4e5f6a7b8c9d0e1",
"name": "Jane",
"lastName": "Doe",
"email": "[email protected]",
"instructorId": "jane-doe",
"role": "admin",
"organization": "64a1b2c3d4e5f6a7b8c9d0e2",
"profilePicture": "https://storage.anonfeedback.io/profiles/..."
}

Update profile

PUT /api/user
{
"name": "Jane",
"lastName": "Smith",
"instructorId": "jane-smith"
}

Change password

PUT /api/user/password
{
"currentPassword": "old-password",
"newPassword": "new-password"
}

Upload profile picture

POST /api/user/profile-picture
Content-Type: multipart/form-data

Maximum file size: 5 MB. Accepted formats: image/jpeg, image/png, image/webp.


Custom event tags

Get tags

GET /api/user/tags

Returns the user's personal set of custom tags for events.

Update tags

PUT /api/user/tags
{ "tags": ["insightful", "action-needed", "follow-up"] }

User management (admin only)

All endpoints below require admin or owner role.

List organization users

GET /api/users

Returns all members of the organization with their roles and status.

Invite a user

POST /api/users/invite
{
"email": "[email protected]",
"role": "user"
}

Sends an invitation email with an accept link. The invited user creates their account via the link.

Error codes:

CodeMeaning
SEAT_LIMIT_REACHEDOrganization has hit its user seat limit for the current plan
ALREADY_MEMBEREmail is already a member of the organization
INVITATION_PENDINGAn invitation for this email is already pending

Update user role

PUT /api/users/:userId/role
{ "role": "admin" }

Valid roles: user, admin. Only owner can promote to admin.

Remove user from organization

DELETE /api/users/:userId/organization

Removes the user from the organization. The user account itself is not deleted.


Invitations (admin only)

List pending invitations

GET /api/users/invitations/pending

Resend invitation

POST /api/users/invitations/:id/resend

Cancel invitation

DELETE /api/users/invitations/:id