User List
Retrieve platform users and pending invitations for your company.
GET
/api/v1/team-users?page=1&activeinvite=0Description
Returns a paginated list of team users or invitations. Use activeinvite=1 to list registered active users; omit or use 0 for pending invitations.
Request
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer <access_token> | Yes |
| Content-Type | application/json | Yes |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| page | number | No | Page number (1-based). Default is 1. |
| limit | number | No | Records per page. Default is 10. Max 100 on tickets, wallet, and shipping labels. |
| activeinvite | number | No | 1 = active registered users; 0 or omitted = pending invitations. |
| status | number | No | Invite status filter (-1 for all). |
| country | string | No | Filter by country code. |
| keyword | string | No | Search by name or email (case-insensitive substring). |
| filter_by_role | number | No | Corporate role: 1=Department head, 2=Manager, 3=Requester. |
Response
List Fields
| Field | Type | Description |
|---|---|---|
| is_invitations_flag | boolean | True when invitations[] is returned; false when users[] is returned. |
| total_users | number | Total matching records. |
| total_pages | number | Total pages. |
| current_page | number | Current page number. |
| invitations | array | Pending invitations when is_invitations_flag is true. |
| users | array | Active registered users when is_invitations_flag is false. |
invitations[] Fields
| Field | Type | Description |
|---|---|---|
| invitations[].id | string | null | User ID when the invitee has a registered account; null for pending invites. |
| invitations[].email | string | User or invitee email address. |
| invitations[].name | string | null | Display name when known. |
| invitations[].country | string | Country code. |
| invitations[].role | number | Corporate role: 1=Department head, 2=Manager, 3=Requester. |
| invitations[].role_name | string | Human-readable role label. |
| invitations[].account_status | string | Active, Inactive, or Pending. |
| invitations[].is_blocked | number | 1 when the account is blocked/deactivated; 0 otherwise. |
| invitations[].is_default_user | boolean | True for the company's default Unduit admin user. |
users[] Fields
| Field | Type | Description |
|---|---|---|
| users[].id | string | null | User ID when the invitee has a registered account; null for pending invites. |
| users[].email | string | User or invitee email address. |
| users[].name | string | null | Display name when known. |
| users[].country | string | Country code. |
| users[].role | number | Corporate role: 1=Department head, 2=Manager, 3=Requester. |
| users[].role_name | string | Human-readable role label. |
| users[].account_status | string | Active, Inactive, or Pending. |
| users[].is_blocked | number | 1 when the account is blocked/deactivated; 0 otherwise. |
| users[].is_default_user | boolean | True for the company's default Unduit admin user. |
Notes
- With activeinvite=1 the response uses users[] instead of invitations[] and is_invitations_flag is false.
- Resource IDs are returned as opaque strings like `9119562-42`. Pass the full value on detail and update routes; the server splits on `-` and uses the last segment internally.
- Pending invitations use id for the invite; registered_user_id is set when the invitee already has an account.
Related Endpoints
Did this page help you?
Request
curl -X GET https://uat.unduit.com/api-exposed/api/v1/team-users?page=1&activeinvite=0 \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json"Success Response
{
"is_invitations_flag": true,
"total_users": 2,
"total_pages": 1,
"current_page": 1,
"invitations": [
{
"id": "1830751-15",
"email": "new.user@example.com",
"name": "Jane Smith",
"country": "US",
"role": 3,
"role_name": "Requester",
"status": 0,
"status_name": "Pending",
"account_status": "Pending",
"is_blocked": 0,
"is_default_user": false,
"registered_user_id": "9119562-42",
"resend_flag": true,
"created_at": "2026-06-01 10:00:00",
"updated_at": "2026-06-01 10:00:00"
}
]
}