Skip to content
Scalekit Docs
Talk to an EngineerDashboard

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.

clientDirectorieshttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/directory.go
#asyncCreateDirectory

Runs CreateDirectory and returns the result.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramdirectorydirectoriesv1.CreateDirectory

Directory.

returnsCreateDirectoryResponse

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.Directory
clientDirectorieshttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/directory.go
#asyncDeleteDirectory

Runs DeleteDirectory and returns the result.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramdirectoryIdstring

Directory ID.

returnserror

error

if err := scalekitClient.Directory().DeleteDirectory(ctx, "org_123", "dir_456"); err != nil {
// handle
}
clientDirectorieshttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/directory.go
#asyncListDirectories

Runs ListDirectories and returns the result.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

returnsListDirectoriesResponse

Paginated results.

dirs, err := scalekitClient.Directory().ListDirectories(ctx, "org_123")
if err != nil {
// handle
}
_ = dirs.Directories
clientDirectorieshttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/directory.go
#asyncGetDirectory

Runs GetDirectory and returns the result.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramdirectoryIdstring

Directory ID.

returnsGetDirectoryResponse

The response payload for this operation.

dir, err := scalekitClient.Directory().GetDirectory(ctx, "org_123", "dir_123")
if err != nil {
// handle
}
_ = dir.Directory
clientDirectorieshttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/directory.go
#asyncGetPrimaryDirectoryByOrganizationId

Runs GetPrimaryDirectoryByOrganizationId and returns the result.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

returnsGetDirectoryResponse

The response payload for this operation.

dir, err := scalekitClient.Directory().GetPrimaryDirectoryByOrganizationId(ctx, "org_123")
if err != nil {
// handle
}
_ = dir.Directory
clientDirectorieshttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/directory.go
#asyncListDirectoryUsers

Runs ListDirectoryUsers and returns the result.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramdirectoryIdstring

Directory ID.

paramoptionsListDirectoryUsersOptions

Optional request settings.

returnsListDirectoryUsersResponse

Paginated results.

includeDetail := true
updatedAfter := 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.Users
clientDirectorieshttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/directory.go
#asyncListDirectoryGroups

Runs ListDirectoryGroups and returns the result.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramdirectoryIdstring

Directory ID.

paramoptionsListDirectoryGroupsOptions

Optional request settings.

returnsListDirectoryGroupsResponse

Paginated results.

includeDetail := true
resp, err := scalekitClient.Directory().ListDirectoryGroups(ctx, "org_123", "dir_123", &scalekit.ListDirectoryGroupsOptions{
PageSize: 10,
PageToken: "",
IncludeDetail: &includeDetail,
})
if err != nil {
// handle
}
_ = resp.Groups
clientDirectorieshttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/directory.go
#asyncEnableDirectory

Runs EnableDirectory and returns the result.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramdirectoryIdstring

Directory ID.

returnsToggleDirectoryResponse

The updated resource.

resp, err := scalekitClient.Directory().EnableDirectory(ctx, "org_123", "dir_123")
if err != nil {
// handle
}
_ = resp.Enabled
clientDirectorieshttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/directory.go
#asyncDisableDirectory

Runs DisableDirectory and returns the result.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramdirectoryIdstring

Directory ID.

returnsToggleDirectoryResponse

The updated resource.

resp, err := scalekitClient.Directory().DisableDirectory(ctx, "org_123", "dir_123")
if err != nil {
// handle
}
_ = resp.Enabled