Directory sync
Sync users and groups via SCIM directories
Use the directory client 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.
listDirectories
Section titled “listDirectories”#asynclistDirectories
Retrieves all SCIM directories configured for an organization.
Organization ID.
Directories for the org.
const response = await scalekit.directory.listDirectories('org_123456');
console.log(`Found ${response.directories.length} directories`);response.directories.forEach(dir => { console.log(`- ${dir.provider}: ${dir.enabled ? 'Active' : 'Inactive'}`); console.log(` Users: ${dir.userCount}, Groups: ${dir.groupCount}`);});getDirectory
Section titled “getDirectory”#asyncgetDirectory
Retrieves comprehensive details about a specific SCIM directory.
Organization ID.
The directory identifier to retrieve (format: “dir_…”)
The directory.
const response = await scalekit.directory.getDirectory( 'org_123456', 'dir_abc123');
const dir = response.directory;console.log('Provider:', dir.provider);console.log('Status:', dir.enabled ? 'Active' : 'Inactive');console.log('Users:', dir.userCount);getPrimaryDirectoryByOrganizationId
Section titled “getPrimaryDirectoryByOrganizationId”#asyncgetPrimaryDirectoryByOrganizationId
Retrieves the primary (first) directory for an organization.
Organization ID.
The first directory object for the organization
const directory = await scalekit.directory.getPrimaryDirectoryByOrganizationId('org_123456');
console.log('Primary Directory:', directory.provider);console.log('Users:', directory.userCount);listDirectoryUsers
Section titled “listDirectoryUsers”#asynclistDirectoryUsers
Lists users synchronized from an identity provider via SCIM directory sync.
The organization ID
The directory ID
Optional fields: pageSize, pageToken, includeDetail, directoryGroupId, updatedAfter.
Directory users.
// pageSize: Results per page (default 10, max 100)// pageToken: Token for the next page// includeDetail: include detail// directoryGroupId: directory group id// updatedAfter: Only resources updated after this timeconst response = await scalekit.directory.listDirectoryUsers( 'org_123456', 'dir_abc123', { pageSize: 50 });
console.log(`Found ${response.totalSize} users`);listDirectoryGroups
Section titled “listDirectoryGroups”#asynclistDirectoryGroups
Retrieves groups synchronized from an identity provider via SCIM directory sync.
The organization ID (format: “org_…”)
The directory ID (format: “dir_…”)
Optional fields: pageSize, pageToken, includeDetail, updatedAfter.
Directory groups.
// pageSize: Results per page (default 10, max 100)// pageToken: Token for the next page// includeDetail: include detail// updatedAfter: Only resources updated after this timeconst response = await scalekit.directory.listDirectoryGroups( 'org_123456', 'dir_abc123', { pageSize: 30 });
console.log(`Found ${response.totalSize} groups`);enableDirectory
Section titled “enableDirectory”#asyncenableDirectory
Enables SCIM directory synchronization for an organization.
The organization ID (format: “org_…”)
The directory ID to enable (format: “dir_…”)
The updated resource.
const response = await scalekit.directory.enableDirectory( 'org_123456', 'dir_abc123');
console.log('Directory enabled:', response.directory.enabled);disableDirectory
Section titled “disableDirectory”#asyncdisableDirectory
Disables SCIM directory synchronization for an organization.
The organization ID (format: “org_…”)
The directory ID to disable (format: “dir_…”)
The updated resource.
const response = await scalekit.directory.disableDirectory( 'org_123456', 'dir_abc123');
console.log('Directory disabled:', !response.directory.enabled);