AdminPermissionService
Chatto exposes this service below /api/connect.
Shared message and enum definitions are documented in Shared Types And Enums.
AdminPermissionService
Section titled “AdminPermissionService”Provides permission matrix reads and admin permission writes.
GetRolePermissionTierMatrix
Section titled “GetRolePermissionTierMatrix”Gets the role-permission matrix for a single tier. Requires role.manage for server/group scope; room scope requires role.manage or room.manage in that room.
POST /api/connect/chatto.admin.v1.AdminPermissionService/GetRolePermissionTierMatrixInput: GetRolePermissionTierMatrixRequest
Section titled “Input: GetRolePermissionTierMatrixRequest”Request a role-permission tier matrix.
| Field | Type | Description |
|---|---|---|
scope | PermissionScope | Target scope. Omit or use SERVER for server scope. |
Result: GetRolePermissionTierMatrixResponse
Section titled “Result: GetRolePermissionTierMatrixResponse”Response containing a role-permission tier matrix.
| Field | Type | Description |
|---|---|---|
matrix | TierRoles | Requested matrix. |
GetRolePermissionMatrix
Section titled “GetRolePermissionMatrix”Gets one role’s full permission matrix. Requires role.manage. Returns NOT_FOUND when the role does not exist.
POST /api/connect/chatto.admin.v1.AdminPermissionService/GetRolePermissionMatrixInput: GetRolePermissionMatrixRequest
Section titled “Input: GetRolePermissionMatrixRequest”Request one role’s permission matrix.
| Field | Type | Description |
|---|---|---|
role_name | string | Stable role name. |
Result: GetRolePermissionMatrixResponse
Section titled “Result: GetRolePermissionMatrixResponse”Response containing one role’s permission matrix.
| Field | Type | Description |
|---|---|---|
matrix | RolePermissionMatrix | Requested matrix. |
ListRolePermissionDecisions
Section titled “ListRolePermissionDecisions”Lists one role’s permission decisions as resource-oriented rows. Requires role.manage. Returns NOT_FOUND when the role does not exist.
POST /api/connect/chatto.admin.v1.AdminPermissionService/ListRolePermissionDecisionsInput: ListRolePermissionDecisionsRequest
Section titled “Input: ListRolePermissionDecisionsRequest”Request explicit/effective permission decisions for one role.
| Field | Type | Description |
|---|---|---|
role_name | string | Stable role name. |
Result: ListRolePermissionDecisionsResponse
Section titled “Result: ListRolePermissionDecisionsResponse”Resource-oriented permission decisions for one role.
| Field | Type | Description |
|---|---|---|
role_name | string | Stable role name. |
decisions | repeated ScopedPermissionDecision | Permission decisions keyed by permission and typed scope. |
GetUserPermissionMatrix
Section titled “GetUserPermissionMatrix”Gets one user’s full permission matrix. Requires user.manage-permissions. Returns NOT_FOUND when the user does not exist.
POST /api/connect/chatto.admin.v1.AdminPermissionService/GetUserPermissionMatrixInput: GetUserPermissionMatrixRequest
Section titled “Input: GetUserPermissionMatrixRequest”Request one user’s permission matrix.
| Field | Type | Description |
|---|---|---|
user_id | string | User ID. |
Result: GetUserPermissionMatrixResponse
Section titled “Result: GetUserPermissionMatrixResponse”Response containing one user’s permission matrix.
| Field | Type | Description |
|---|---|---|
matrix | UserPermissionMatrix | Requested matrix. |
ListUserPermissionDecisions
Section titled “ListUserPermissionDecisions”Lists one user’s permission decisions as resource-oriented rows. Requires user.manage-permissions. Returns NOT_FOUND when the user does not exist.
POST /api/connect/chatto.admin.v1.AdminPermissionService/ListUserPermissionDecisionsInput: ListUserPermissionDecisionsRequest
Section titled “Input: ListUserPermissionDecisionsRequest”Request explicit/effective permission decisions for one user.
| Field | Type | Description |
|---|---|---|
user_id | string | User ID. |
Result: ListUserPermissionDecisionsResponse
Section titled “Result: ListUserPermissionDecisionsResponse”Resource-oriented permission decisions for one user.
| Field | Type | Description |
|---|---|---|
user_id | string | User ID. |
decisions | repeated ScopedPermissionDecision | Permission decisions keyed by permission and typed scope. |
ExplainPermissions
Section titled “ExplainPermissions”Explains permission resolution for another user. Requires role.manage.
POST /api/connect/chatto.admin.v1.AdminPermissionService/ExplainPermissionsInput: ExplainPermissionsRequest
Section titled “Input: ExplainPermissionsRequest”Request permission explanations for a user at server or room scope.
| Field | Type | Description |
|---|---|---|
user_id | string | User whose permissions should be explained. |
room_id | string | Optional room scope. Omit for server-scoped permissions. |
Result: ExplainPermissionsResponse
Section titled “Result: ExplainPermissionsResponse”Permission explanations for all permissions applicable at the requested scope.
| Field | Type | Description |
|---|---|---|
explanations | repeated PermissionExplanation | Explanation rows sorted by permission metadata order. |
SetRolePermission
Section titled “SetRolePermission”Sets one role permission decision. Requires role.manage or scoped room.manage for room scope.
POST /api/connect/chatto.admin.v1.AdminPermissionService/SetRolePermissionInput: SetRolePermissionRequest
Section titled “Input: SetRolePermissionRequest”Request to set one role permission state.
| Field | Type | Description |
|---|---|---|
role_name | string | Role name. |
permission | string | Permission identifier. |
decision | PermissionDecision | New decision. NONE clears the explicit state. |
scope | PermissionScope | Target scope. Omit or use SERVER for server scope. |
Result: SetRolePermissionResponse
Section titled “Result: SetRolePermissionResponse”Result of setting one role permission state.
| Field | Type | Description |
|---|---|---|
decision | PermissionDecisionUpdate | Updated permission decision for the requested role/scope cell. |
SetUserPermission
Section titled “SetUserPermission”Sets one user permission decision. Requires user.manage-permissions.
POST /api/connect/chatto.admin.v1.AdminPermissionService/SetUserPermissionInput: SetUserPermissionRequest
Section titled “Input: SetUserPermissionRequest”Request to set one user permission state.
| Field | Type | Description |
|---|---|---|
user_id | string | Target user ID. |
permission | string | Permission identifier. |
decision | PermissionDecision | New decision. NONE clears the explicit state. |
scope | PermissionScope | Target scope. Omit or use SERVER for server scope. |
Result: SetUserPermissionResponse
Section titled “Result: SetUserPermissionResponse”Result of setting one user permission state.
| Field | Type | Description |
|---|---|---|
decision | PermissionDecisionUpdate | Updated permission decision for the requested user/scope cell. |