Permissions
Manage fine-grained permissions
Use scalekit_client.permissions to define fine-grained permissions that roles can grant.
Model permissions for resources in your app, then attach them to roles.
list_permissions
Section titled “list_permissions”#asynclist_permissions
Method to list all permissions
Optional. Token for pagination
Optional. Number of permissions per page
List Permissions Response
response = scalekit_client.permissions.list_permissions( page_size=50)
for permission in response[0].permissions: print(f"Permission: {permission.name}")get_permission
Section titled “get_permission”#asyncget_permission
Method to get permission by name
Permission name to get permission details
Get Permission Response
response = scalekit_client.permissions.get_permission('write:articles')permission = response[0].permissioncreate_permission
Section titled “create_permission”#asynccreate_permission
Method to create a new permission
Permission create payload.
Create Permission Response
from scalekit.v1.roles.roles_pb2 import CreatePermission
permission = CreatePermission()permission.name = "write:articles"permission.description = "Permission to write articles"
response = scalekit_client.permissions.create_permission(permission)update_permission
Section titled “update_permission”#asyncupdate_permission
Method to update an existing permission by name
Permission name to update
Permission create payload.
Update Permission Response
from scalekit.v1.roles.roles_pb2 import CreatePermission
permission = CreatePermission()permission.description = "Updated description"
response = scalekit_client.permissions.update_permission( 'write:articles', permission)delete_permission
Section titled “delete_permission”#asyncdelete_permission
Method to delete permission by name
Permission name to be deleted
Empty on success.
scalekit_client.permissions.delete_permission('write:articles')list_role_permissions
Section titled “list_role_permissions”#asynclist_role_permissions
Method to list all permissions associated with a role
Role name to get permissions for
List Role Permissions Response
response = scalekit_client.permissions.list_role_permissions('editor')
for permission in response[0].permissions: print(f"Permission: {permission.name}")add_permissions_to_role
Section titled “add_permissions_to_role”#asyncadd_permissions_to_role
Method to add permissions to a role
Role name to add permissions to
List of permission names to add
The created resource.
scalekit_client.permissions.add_permissions_to_role( 'editor', ['write:articles', 'edit:articles'])remove_permission_from_role
Section titled “remove_permission_from_role”#asyncremove_permission_from_role
Method to remove a permission from a role
Role name to remove permission from
Permission name to remove
Empty on success.
scalekit_client.permissions.remove_permission_from_role( 'editor', 'write:articles')list_effective_role_permissions
Section titled “list_effective_role_permissions”#asynclist_effective_role_permissions
Method to list all effective permissions for a role (including inherited permissions)
Role name to get effective permissions for
List Effective Role Permissions Response
response = scalekit_client.permissions.list_effective_role_permissions('senior_editor')
print(f'Total effective permissions: {len(response[0].permissions)}')