Users & Teams API
Users
List Users
GET /api/users
Returns all users in the organization. Admin only.
Get User
GET /api/users/:id
Create User
POST /api/users
Admin only. Creates a new user in the organization.
| Field |
Type |
Required |
Description |
user_email |
string |
Yes |
Email address |
user_name |
string |
Yes |
Full name |
user_password |
string |
Yes |
Password (min 8 chars) |
user_type |
integer |
No |
User type: 1=Admin, 2=Member, 3=Client (default: 2) |
Update User
PUT /api/users/:id
Delete User
DELETE /api/users/:id
Upload Avatar
PUT /api/users/:id/avatar
Change Password
PUT /api/users/:id/change-password
| Field |
Type |
Description |
current_password |
string |
Current password |
new_password |
string |
New password (min 8 chars) |
User Approval Workflow
For organizations with approval-based onboarding:
Approve User
POST /api/users/:id/approve
Reject User
POST /api/users/:id/reject
Suspend User
POST /api/users/:id/suspend
Reactivate User
POST /api/users/:id/reactivate
AI Access
PATCH /api/users/:id/ai-access
Toggle AI feature access for a user.
| Field |
Type |
Description |
ai_access |
boolean |
Enable/disable AI features |
User Dashboard Access
Get User Dashboards
GET /api/users/:id/dashboards
Update User Dashboard Access
PUT /api/users/:id/dashboards
| Field |
Type |
Description |
dashboard_ids |
integer[] |
Dashboard IDs the user can access |
Groups
Groups allow batch dashboard sharing and user organization.
List Groups
GET /api/groups
Create Group
POST /api/groups
| Field |
Type |
Required |
Description |
group_name |
string |
Yes |
Group name |
group_description |
string |
No |
Description |
group_color |
string |
No |
Hex color code |
Update Group
PUT /api/groups/:groupId
Delete Group
DELETE /api/groups/:groupId
Group Members
GET /api/groups/:groupId/members
POST /api/groups/:groupId/members # Body: { "user_ids": [1, 2, 3] }
DELETE /api/groups/:groupId/members/:userId
Group Dashboard Access
GET /api/groups/:groupId/dashboards
PUT /api/groups/:groupId/dashboards # Body: { "dashboard_ids": [1, 2] }
User Types
| Type |
Value |
Description |
| Superadmin |
1 |
Full platform access |
| Admin |
2 |
Organization admin — can manage users, billing, all settings |
| Member |
3 |
Internal team — can create surveys, view workspaces |
| Client |
6 |
External — can only view shared dashboards |
User Status
| Status |
Value |
Description |
| Active |
1 |
Normal access |
| Pending |
2 |
Awaiting admin approval |
| Suspended |
3 |
Account suspended |
| Deleted |
0 |
Soft-deleted |
Invite Links
List Invite Links
GET /api/invite-links
Create Invite Link
POST /api/invite-links
| Field |
Type |
Description |
invite_role |
integer |
Default role for joining users |
invite_max_uses |
integer |
Max uses (null = unlimited) |
expires_at |
string |
Expiration date (ISO 8601) |
Delete Invite Link
DELETE /api/invite-links/:id