Skip to content
Scalekit Docs
Talk to an EngineerDashboard

Roles

Define and assign organization roles

Use scalekit_client.roles to define organization roles and list role assignments.

Create roles and permissions for authorization after you have organizations and users.

clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asynclist_roles

Method to list all roles

returnsListRolesResponse

List Roles Response

response = scalekit_client.roles.list_roles()
for role in response[0].roles:
print(f"Role: {role.name}")
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncget_role

Method to get role by name

paramrole_namestr

Role name to get role details

returnsGetRoleResponse

Get Role Response

response = scalekit_client.roles.get_role('admin')
role = response[0].role
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asynccreate_role

Method to create a new role

paramroleCreateRole

CreateRole object with expected values for role creation

returnsCreateRoleResponse

Create Role Response

from scalekit.v1.roles.roles_pb2 import CreateRole
role = CreateRole()
role.name = "editor"
role.display_name = "Editor"
response = scalekit_client.roles.create_role(role)
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncupdate_role

Method to update an existing role by name

paramrole_namestr

Role name to update

paramroleUpdateRole

UpdateRole object with expected values for role update

returnsUpdateRoleResponse

Update Role Response

from scalekit.v1.roles.roles_pb2 import UpdateRole
role = UpdateRole()
role.display_name = "Senior Editor"
response = scalekit_client.roles.update_role('editor', role)
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncdelete_role

Method to delete role by name

paramrole_namestr

Role name to be deleted

paramreassign_role_nameOptional[str]

Replacement role for users.

returnsNone

Empty on success.

scalekit_client.roles.delete_role('editor', reassign_role_name='viewer')
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncget_role_users_count

Method to get the count of users associated with a role

paramrole_namestr

Role name to get user count for

returnsGetRoleUsersCountResponse

Get Role Users Count Response

response = scalekit_client.roles.get_role_users_count('admin')
print(f"User count: {response[0].count}")
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asynclist_organization_roles

Method to list all organization roles

paramorg_idstr

Organization ID

returnsListOrganizationRolesResponse

List Organization Roles Response

response = scalekit_client.roles.list_organization_roles('org_123456')
for role in response[0].roles:
print(f"Role: {role.name}")
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asynccreate_organization_role

Method to create a new organization role

paramorg_idstr

Organization ID

paramroleCreateOrganizationRole

Role create payload.

returnsCreateOrganizationRoleResponse

Create Organization Role Response

from scalekit.v1.roles.roles_pb2 import CreateOrganizationRole
role = CreateOrganizationRole()
role.name = "org_admin"
role.display_name = "Organization Admin"
response = scalekit_client.roles.create_organization_role('org_123456', role)
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncget_organization_role

Method to get organization role by name

paramorg_idstr

Organization ID

paramrole_namestr

Role name to get role details

returnsGetOrganizationRoleResponse

Get Organization Role Response

response = scalekit_client.roles.get_organization_role('org_123456', 'org_admin')
role = response[0].role
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncupdate_organization_role

Method to update an existing organization role by name

paramorg_idstr

Organization ID

paramrole_namestr

Role name to update

paramroleUpdateRole

Role update payload.

returnsUpdateOrganizationRoleResponse

Update Organization Role Response

from scalekit.v1.roles.roles_pb2 import UpdateRole
role = UpdateRole()
role.display_name = "Organization Administrator"
response = scalekit_client.roles.update_organization_role(
'org_123456',
'org_admin',
role
)
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncdelete_organization_role

Method to delete organization role by name

paramorg_idstr

Organization ID

paramrole_namestr

Role name to be deleted

paramreassign_role_nameOptional[str]

Replacement role for users.

returnsNone

Empty on success.

scalekit_client.roles.delete_organization_role(
'org_123456',
'org_admin',
reassign_role_name='member'
)
clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncdelete_role_base

Method to delete the base inheritance relationship for an environment-level role

paramrole_namestr

Role name to remove base relationship for

returnsNone

Empty on success.

clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncget_organization_role_users_count

Method to get the count of users associated with an organization role

paramorg_idstr

Organization ID

paramrole_namestr

Role name to get user count for

returnsGetOrganizationRoleUsersCountResponse

Get Organization Role Users Count Response

clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncupdate_default_organization_roles

Method to update default organization roles

paramorg_idstr

Organization ID

paramdefault_rolesUpdateDefaultOrganizationRolesRequest

UpdateDefaultOrganizationRoles object with default role.

returnsUpdateDefaultOrganizationRolesResponse

Update Default Organization Roles Response

clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncdelete_organization_role_base

Method to delete organization role base relationship by name

paramorg_idstr

Organization ID

paramrole_namestr

Role name to remove base relationship for

returnsNone

Empty on success.

clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asyncupdate_default_roles

Method to update default environment-level roles

paramdefault_creator_roleOptional[str]

Optional. Name of the role to set as default creator role

paramdefault_member_roleOptional[str]

Optional. Name of the role to set as default member role

returnsUpdateDefaultRolesResponse

Update Default Roles Response

clientRolehttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/role.py
#asynclist_dependent_roles

Method to list roles that directly extend (depend on) the specified base role

paramrole_namestr

Name of the base role

returnsListDependentRolesResponse

List Dependent Roles Response