8. Team & Organization
8.1 List Users
GET /api/v1/users
List organization users.
Query Parameters:
page- Page numberlimit- Items per pagerole- Filter by roledepartment- Filter by departmentstatus- Filter:active,inactive
Response:
{
"data": [
{
"id": "user-123",
"fullName": "John Doe",
"role": "admin",
"department": "Sales",
"phone": "+84.9.xxxx.xxxx",
"avatar": "https://...",
"status": "active",
"createdAt": "2026-01-15T10:30:00Z",
"lastLogin": "2026-06-05T14:22:00Z"
}
],
"pagination": { "total": 15, "page": 1, "limit": 50 }
}
8.2 Create User
POST /api/v1/users
Create new team member.
Request Body:
{
"fullName": "Jane Smith",
"role": "agent",
"department": "Support",
"phone": "+84.9.yyyy.yyyy"
}
Response: 201
{
"id": "user-126",
"fullName": "Jane Smith",
"role": "agent",
"createdAt": "2026-06-05T17:35:00Z",
"invitationSent": true
}
8.3 Update User
PUT /api/v1/users/:id
Update user information.
Request Body:
{
"fullName": "Jane Smith",
"role": "team_lead",
"department": "Sales"
}
Response: 200
8.4 Delete User
DELETE /api/v1/users/:id
Deactivate user.
Response: 204 No Content
8.5 List Teams
GET /api/v1/teams
List teams in organization.
Response:
[
{
"id": "team-001",
"name": "Sales Team",
"description": "Direct sales team",
"memberCount": 5,
"createdAt": "2026-01-15T10:30:00Z"
}
]
8.6 Create Team
POST /api/v1/teams
Create new team.
Request Body:
{
"name": "Enterprise Sales",
"description": "Enterprise customer sales team",
"memberIds": ["user-123", "user-124"]
}
Response: 201