AdminUserService
Chatto exposes this service below /api/connect.
Shared message and enum definitions are documented in Shared Types And Enums.
AdminUserService
Section titled “AdminUserService”Server-admin user management commands and member-detail reads.
ListMembers
Section titled “ListMembers”Lists server members for the admin members screen. Requires admin.view-users.
POST /api/connect/chatto.admin.v1.AdminUserService/ListMembersInput: ListMembersRequest
Section titled “Input: ListMembersRequest”Request server-admin member rows.
| Field | Type | Description |
|---|---|---|
search | string | Case-insensitive login/display-name search term. Empty disables search. |
page | chatto.api.v1.PageRequest | Page request. Defaults to 20 results when absent or limit is zero. |
Result: ListMembersResponse
Section titled “Result: ListMembersResponse”Server-admin member rows plus role summaries.
| Field | Type | Description |
|---|---|---|
members | repeated AdminMember | Matching members. |
roles | repeated chatto.api.v1.Role | Public roles for display-name lookup. |
page | chatto.api.v1.PageInfo | Page metadata. |
GetMember
Section titled “GetMember”Gets one server member plus role/permission metadata for admin details. Requires admin.view-users. Returns NOT_FOUND when the user does not exist.
POST /api/connect/chatto.admin.v1.AdminUserService/GetMemberInput: GetMemberRequest
Section titled “Input: GetMemberRequest”Request one server-admin member detail record.
| Field | Type | Description |
|---|---|---|
target.user_id | string | Target stable user ID. |
target.login | string | Target login identifier. |
Result: GetMemberResponse
Section titled “Result: GetMemberResponse”Server-admin member detail payload.
| Field | Type | Description |
|---|---|---|
member | AdminMember | Member record. |
roles | repeated AdminRole | Roles for assignment UI. |
available_permissions | repeated string | Permissions available for per-user overrides. |
viewer_can_assign_roles | bool | Whether the caller may assign/revoke roles. |
viewer_can_manage_roles | bool | Whether the caller may edit role definitions. |
viewer_can_manage_user_permissions | bool | Whether the caller may edit direct user permissions. |
BatchGetMembers
Section titled “BatchGetMembers”Gets server member rows for multiple users. Requires admin.view-users.
POST /api/connect/chatto.admin.v1.AdminUserService/BatchGetMembersInput: BatchGetMembersRequest
Section titled “Input: BatchGetMembersRequest”Request server-admin member rows for a set of stable user IDs.
| Field | Type | Description |
|---|---|---|
user_ids | repeated string | Required target user IDs. Unknown IDs are omitted from the response. |
Result: BatchGetMembersResponse
Section titled “Result: BatchGetMembersResponse”Batch server-admin member response.
| Field | Type | Description |
|---|---|---|
members | repeated AdminMember | Found members. The server preserves first-seen request order and de-duplicates repeated IDs. |
roles | repeated chatto.api.v1.Role | Public roles for display-name lookup. |
AssignRole
Section titled “AssignRole”Assigns a role to a user. Requires role.assign.
POST /api/connect/chatto.admin.v1.AdminUserService/AssignRoleInput: AssignRoleRequest
Section titled “Input: AssignRoleRequest”Request to assign a role to a user.
| Field | Type | Description |
|---|---|---|
user_id | string | Target user ID. |
role_name | string | Role name to assign. |
Result: AssignRoleResponse
Section titled “Result: AssignRoleResponse”Result of assigning a role.
| Field | Type | Description |
|---|---|---|
member | AdminMember | Updated admin member row. |
RevokeRole
Section titled “RevokeRole”Revokes a role from a user. Requires role.assign.
POST /api/connect/chatto.admin.v1.AdminUserService/RevokeRoleInput: RevokeRoleRequest
Section titled “Input: RevokeRoleRequest”Request to revoke a role from a user.
| Field | Type | Description |
|---|---|---|
user_id | string | Target user ID. |
role_name | string | Role name to revoke. |
Result: RevokeRoleResponse
Section titled “Result: RevokeRoleResponse”Result of revoking a role.
| Field | Type | Description |
|---|---|---|
member | AdminMember | Updated admin member row. |
UpdateUser
Section titled “UpdateUser”Updates another user’s login and/or display name as an admin action. Requires user.manage-accounts; the caller cannot target their own account.
POST /api/connect/chatto.admin.v1.AdminUserService/UpdateUserInput: UpdateUserRequest
Section titled “Input: UpdateUserRequest”Request to update a user’s identity as a server-admin action.
| Field | Type | Description |
|---|---|---|
user_id | string | Target user ID. |
display_name | optional string | New display name, when changing it. Empty clears the explicit display name. The server also rejects control and confusing invisible characters. |
login | optional string | New login identifier, when changing it. The server accepts ASCII letters, digits, period, underscore, and hyphen, starting with a letter or digit. |
Result: UpdateUserResponse
Section titled “Result: UpdateUserResponse”Result of an admin user update.
| Field | Type | Description |
|---|---|---|
user | chatto.api.v1.User | Updated user profile. |
member | AdminMember | Updated admin member row. |
UpdateUserPassword
Section titled “UpdateUserPassword”Updates another user’s password as an admin action. Requires user.manage-accounts and a fresh credential for the caller; the caller cannot target their own account.
POST /api/connect/chatto.admin.v1.AdminUserService/UpdateUserPasswordInput: UpdateUserPasswordRequest
Section titled “Input: UpdateUserPasswordRequest”Request to update a user’s password as a server-admin action.
| Field | Type | Description |
|---|---|---|
user_id | string | Target user ID. |
password | string | New password. The server applies the same password policy as registration and password reset. |
Result: UpdateUserPasswordResponse
Section titled “Result: UpdateUserPasswordResponse”Result of an admin password update.
| Field | Type | Description |
|---|---|---|
member | AdminMember | Updated admin member row. |
ClearUsernameCooldown
Section titled “ClearUsernameCooldown”Clears the target user’s self-service username-change cooldown. Requires user.manage-accounts.
POST /api/connect/chatto.admin.v1.AdminUserService/ClearUsernameCooldownInput: ClearUsernameCooldownRequest
Section titled “Input: ClearUsernameCooldownRequest”Request to clear a user’s self-service username-change cooldown.
| Field | Type | Description |
|---|---|---|
user_id | string | Target user ID. |
Result: ClearUsernameCooldownResponse
Section titled “Result: ClearUsernameCooldownResponse”Result of clearing a user’s username-change cooldown.
| Field | Type | Description |
|---|---|---|
cleared | bool | True when the request completed. |
DeleteUser
Section titled “DeleteUser”Deletes a user account as an admin action. Requires user.delete-any for other users, user.delete-self for the caller, and a fresh credential for the caller.
POST /api/connect/chatto.admin.v1.AdminUserService/DeleteUserInput: DeleteUserRequest
Section titled “Input: DeleteUserRequest”Request to delete a user account as a server-admin action.
| Field | Type | Description |
|---|---|---|
user_id | string | Target user ID. |
current_password | string | Current password proof for accounts with a password when the active runtime credential is no longer fresh. |
Result: DeleteUserResponse
Section titled “Result: DeleteUserResponse”Result of deleting a user account.
| Field | Type | Description |
|---|---|---|
deleted | bool | True when the user was deleted. |