Skip to content
Scalekit Docs
Talk to an EngineerDashboard

Directory sync

Sync users and groups via SCIM directories

Use scalekit_client.directory for SCIM directory sync—listing providers, users, and groups provisioned from an IdP.

Use this after SSO is in place when the customer provisions users via SCIM.

clientDirectoryhttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/directory.py
#asynclist_directories

Method to list directories for given organization id

paramorganization_idAny

org id to fetch directory list

returnsListDirectoriesResponse

list of directories

response = scalekit_client.directory.list_directories('org_123456')
for directory in response[0].directories:
print(f"Directory: {directory.id}")
clientDirectoryhttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/directory.py
#asyncget_directory

Method to get directory based on given organization and directory id

paramorganization_idstr

Organization id

paramdirectory_idstr

directory id

returnsGetDirectoryResponse

Get Directory Response

response = scalekit_client.directory.get_directory(
'org_123456',
'directory_123456'
)
directory = response[0].directory
clientDirectoryhttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/directory.py
#asynccreate_directory

Method to create directory based on given organization id

paramorganization_idstr

Organization id to create directory for

paramdirectoryCreateDirectory

CreateDirectory object with expected values for dir creation

returnsCreateDirectoryResponse

Create Directory Response

from scalekit.v1.directories.directories_pb2 import CreateDirectory
directory = CreateDirectory()
directory.provider = "azure"
response = scalekit_client.directory.create_directory(
'org_123456',
directory
)
clientDirectoryhttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/directory.py
#asynclist_directory_users

Runs list_directory_users and returns the result.

paramorganization_idstr

Organization ID.

paramdirectory_idstr

Directory ID.

parampage_sizeOptional[int]

Results per page.

parampage_tokenOptional[str]

Pagination token.

paraminclude_detailOptional[bool]

Include detail.

paramupdated_afterOptional[str]

Updated after.

returnstuple[ListDirUsersResponse, Any]

tuple[ListDirUsersResponse, Any]

response = scalekit_client.directory.list_directory_users(
'org_123456',
'directory_123456',
page_size=50
)
for user in response[0].users:
print(f"User: {user.email}")
clientDirectoryhttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/directory.py
#asynclist_directory_groups

Runs list_directory_groups and returns the result.

paramorganization_idstr

Organization ID.

paramdirectory_idstr

Directory ID.

parampage_sizeOptional[int]

Results per page.

parampage_tokenOptional[str]

Pagination token.

paraminclude_detailOptional[bool]

Include detail.

paramupdated_afterOptional[str]

Updated after.

returnstuple[ListDirGroupsResponse, Any]

tuple[ListDirGroupsResponse, Any]

response = scalekit_client.directory.list_directory_groups(
'org_123456',
'directory_123456',
page_size=50
)
for group in response[0].groups:
print(f"Group: {group.display_name}")
clientDirectoryhttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/directory.py
#asyncenable_directory

Method to enable directory based on given organization and directory id

paramorganization_idstr

Organization id

paramdirectory_idstr

directory id

returnsToggleDirectoryResponse

Toggle Directory Response

scalekit_client.directory.enable_directory('org_123456', 'directory_123456')
clientDirectoryhttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/directory.py
#asyncdisable_directory

Method to disable directory based on given organization and directory id

paramorganization_idstr

Organization id

paramdirectory_idstr

directory id

returnsToggleDirectoryResponse

Toggle Directory Response

scalekit_client.directory.disable_directory('org_123456', 'directory_123456')
clientDirectoryhttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/directory.py
#asyncdelete_directory

Method to delete directory based on given organization and directory id

paramorganization_idstr

Organization id to delete directory for

paramdirectory_idstr

Directory id for directory to be deleted

returnsNone

Empty on success.

scalekit_client.directory.delete_directory('org_123456', 'directory_123456')
clientDirectoryhttps://github.com/scalekit-inc/scalekit-sdk-python/blob/main/scalekit/directory.py
#asyncget_primary_directory_by_organization_id

Method to get primary directory based on given organization id

paramorganization_idstr

Organization id

returnsNone

Primary directory