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.
CreateDirectory
Section titled “CreateDirectory”#asyncCreateDirectory
Runs CreateDirectory and returns the result.
Request context
Organization ID.
Directory.
The created resource.
import ( directoriesv1 "github.com/scalekit-inc/scalekit-sdk-go/v2/pkg/grpc/scalekit/v1/directories")
created, err := scalekitClient.Directory().CreateDirectory(ctx, "org_123", &directoriesv1.CreateDirectory{ DirectoryType: directoriesv1.DirectoryType_SCIM, DirectoryProvider: directoriesv1.DirectoryProvider_OKTA,})if err != nil { // handle}_ = created.DirectoryDeleteDirectory
Section titled “DeleteDirectory”#asyncDeleteDirectory
Runs DeleteDirectory and returns the result.
Request context
Organization ID.
Directory ID.
error
if err := scalekitClient.Directory().DeleteDirectory(ctx, "org_123", "dir_456"); err != nil { // handle}ListDirectories
Section titled “ListDirectories”#asyncListDirectories
Runs ListDirectories and returns the result.
Request context
Organization ID.
Paginated results.
dirs, err := scalekitClient.Directory().ListDirectories(ctx, "org_123")if err != nil { // handle}_ = dirs.DirectoriesGetDirectory
Section titled “GetDirectory”#asyncGetDirectory
Runs GetDirectory and returns the result.
Request context
Organization ID.
Directory ID.
The response payload for this operation.
dir, err := scalekitClient.Directory().GetDirectory(ctx, "org_123", "dir_123")if err != nil { // handle}_ = dir.DirectoryGetPrimaryDirectoryByOrganizationId
Section titled “GetPrimaryDirectoryByOrganizationId”#asyncGetPrimaryDirectoryByOrganizationId
Runs GetPrimaryDirectoryByOrganizationId and returns the result.
Request context
Organization ID.
The response payload for this operation.
dir, err := scalekitClient.Directory().GetPrimaryDirectoryByOrganizationId(ctx, "org_123")if err != nil { // handle}_ = dir.DirectoryListDirectoryUsers
Section titled “ListDirectoryUsers”#asyncListDirectoryUsers
Runs ListDirectoryUsers and returns the result.
Request context
Organization ID.
Directory ID.
Optional request settings.
Paginated results.
includeDetail := trueupdatedAfter := time.Unix(1729851960, 0)
resp, err := scalekitClient.Directory().ListDirectoryUsers(ctx, "org_123", "dir_123", &scalekit.ListDirectoryUsersOptions{ PageSize: 10, PageToken: "", IncludeDetail: &includeDetail, UpdatedAfter: &updatedAfter,})if err != nil { // handle}_ = resp.UsersListDirectoryGroups
Section titled “ListDirectoryGroups”#asyncListDirectoryGroups
Runs ListDirectoryGroups and returns the result.
Request context
Organization ID.
Directory ID.
Optional request settings.
Paginated results.
includeDetail := trueresp, err := scalekitClient.Directory().ListDirectoryGroups(ctx, "org_123", "dir_123", &scalekit.ListDirectoryGroupsOptions{ PageSize: 10, PageToken: "", IncludeDetail: &includeDetail,})if err != nil { // handle}_ = resp.GroupsEnableDirectory
Section titled “EnableDirectory”#asyncEnableDirectory
Runs EnableDirectory and returns the result.
Request context
Organization ID.
Directory ID.
The updated resource.
resp, err := scalekitClient.Directory().EnableDirectory(ctx, "org_123", "dir_123")if err != nil { // handle}_ = resp.EnabledDisableDirectory
Section titled “DisableDirectory”#asyncDisableDirectory
Runs DisableDirectory and returns the result.
Request context
Organization ID.
Directory ID.
The updated resource.
resp, err := scalekitClient.Directory().DisableDirectory(ctx, "org_123", "dir_123")if err != nil { // handle}_ = resp.Enabled