Skip to content

AdminPermissionService

Chatto exposes this service below /api/connect.

Shared message and enum definitions are documented in Shared Types And Enums.

Provides permission matrix reads and admin permission writes.

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/GetRolePermissionTierMatrix

Request a role-permission tier matrix.

FieldTypeDescription
scopePermissionScopeTarget scope. Omit or use SERVER for server scope.

Result: GetRolePermissionTierMatrixResponse

Section titled “Result: GetRolePermissionTierMatrixResponse”

Response containing a role-permission tier matrix.

FieldTypeDescription
matrixTierRolesRequested matrix.

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/GetRolePermissionMatrix

Request one role’s permission matrix.

FieldTypeDescription
role_namestringStable role name.

Response containing one role’s permission matrix.

FieldTypeDescription
matrixRolePermissionMatrixRequested matrix.

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/ListRolePermissionDecisions

Request explicit/effective permission decisions for one role.

FieldTypeDescription
role_namestringStable role name.

Result: ListRolePermissionDecisionsResponse

Section titled “Result: ListRolePermissionDecisionsResponse”

Resource-oriented permission decisions for one role.

FieldTypeDescription
role_namestringStable role name.
decisionsrepeated ScopedPermissionDecisionPermission decisions keyed by permission and typed scope.

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/GetUserPermissionMatrix

Request one user’s permission matrix.

FieldTypeDescription
user_idstringUser ID.

Response containing one user’s permission matrix.

FieldTypeDescription
matrixUserPermissionMatrixRequested matrix.

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/ListUserPermissionDecisions

Request explicit/effective permission decisions for one user.

FieldTypeDescription
user_idstringUser ID.

Result: ListUserPermissionDecisionsResponse

Section titled “Result: ListUserPermissionDecisionsResponse”

Resource-oriented permission decisions for one user.

FieldTypeDescription
user_idstringUser ID.
decisionsrepeated ScopedPermissionDecisionPermission decisions keyed by permission and typed scope.

Explains permission resolution for another user. Requires role.manage.

POST /api/connect/chatto.admin.v1.AdminPermissionService/ExplainPermissions

Request permission explanations for a user at server or room scope.

FieldTypeDescription
user_idstringUser whose permissions should be explained.
room_idstringOptional room scope. Omit for server-scoped permissions.

Permission explanations for all permissions applicable at the requested scope.

FieldTypeDescription
explanationsrepeated PermissionExplanationExplanation rows sorted by permission metadata order.

Sets one role permission decision. Requires role.manage or scoped room.manage for room scope.

POST /api/connect/chatto.admin.v1.AdminPermissionService/SetRolePermission

Request to set one role permission state.

FieldTypeDescription
role_namestringRole name.
permissionstringPermission identifier.
decisionPermissionDecisionNew decision. NONE clears the explicit state.
scopePermissionScopeTarget scope. Omit or use SERVER for server scope.

Result of setting one role permission state.

FieldTypeDescription
decisionPermissionDecisionUpdateUpdated permission decision for the requested role/scope cell.

Sets one user permission decision. Requires user.manage-permissions.

POST /api/connect/chatto.admin.v1.AdminPermissionService/SetUserPermission

Request to set one user permission state.

FieldTypeDescription
user_idstringTarget user ID.
permissionstringPermission identifier.
decisionPermissionDecisionNew decision. NONE clears the explicit state.
scopePermissionScopeTarget scope. Omit or use SERVER for server scope.

Result of setting one user permission state.

FieldTypeDescription
decisionPermissionDecisionUpdateUpdated permission decision for the requested user/scope cell.