> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended**:
> ```bash
> npx @scalekit-inc/cli setup
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for 40+ agents.
> Features: full-stack-auth, agent-auth, mcp-auth, modular-sso, modular-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Directory

Sync users and groups via SCIM directories
<div class="sdk-client-page">

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
<div class="sdk-method-section">
  
    
      

      Runs `CreateDirectory` and returns the result.

      
        Request context
      
      
        Organization ID.
      
      
        Directory.
      
      
        The created resource.
      

```go wrap showLineNumbers=false

  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
```

    
  
</div>

### DeleteDirectory
<div class="sdk-method-section">
  
    
      

      Runs `DeleteDirectory` and returns the result.

      
        Request context
      
      
        Organization ID.
      
      
        Directory ID.
      
      
        error
      

```go wrap showLineNumbers=false
if err := scalekitClient.Directory().DeleteDirectory(ctx, "org_123", "dir_456"); err != nil {
  // handle
}
```

    
  
</div>

### ListDirectories
<div class="sdk-method-section">
  
    
      

      Runs `ListDirectories` and returns the result.

      
        Request context
      
      
        Organization ID.
      
      
        Paginated results.
      

```go wrap showLineNumbers=false
dirs, err := scalekitClient.Directory().ListDirectories(ctx, "org_123")
if err != nil {
  // handle
}
_ = dirs.Directories
```

    
  
</div>

### GetDirectory
<div class="sdk-method-section">
  
    
      

      Runs `GetDirectory` and returns the result.

      
        Request context
      
      
        Organization ID.
      
      
        Directory ID.
      
      
        The response payload for this operation.
      

```go wrap showLineNumbers=false
dir, err := scalekitClient.Directory().GetDirectory(ctx, "org_123", "dir_123")
if err != nil {
  // handle
}
_ = dir.Directory
```

    
  
</div>

### GetPrimaryDirectoryByOrganizationId
<div class="sdk-method-section">
  
    
      

      Runs `GetPrimaryDirectoryByOrganizationId` and returns the result.

      
        Request context
      
      
        Organization ID.
      
      
        The response payload for this operation.
      

```go wrap showLineNumbers=false
dir, err := scalekitClient.Directory().GetPrimaryDirectoryByOrganizationId(ctx, "org_123")
if err != nil {
  // handle
}
_ = dir.Directory
```

    
  
</div>

### ListDirectoryUsers
<div class="sdk-method-section">
  
    
      

      Runs `ListDirectoryUsers` and returns the result.

      
        Request context
      
      
        Organization ID.
      
      
        Directory ID.
      
      
        Optional request settings.
      
      
        Paginated results.
      

```go wrap showLineNumbers=false
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
```

    
  
</div>

### ListDirectoryGroups
<div class="sdk-method-section">
  
    
      

      Runs `ListDirectoryGroups` and returns the result.

      
        Request context
      
      
        Organization ID.
      
      
        Directory ID.
      
      
        Optional request settings.
      
      
        Paginated results.
      

```go wrap showLineNumbers=false
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
```

    
  
</div>

### EnableDirectory
<div class="sdk-method-section">
  
    
      

      Runs `EnableDirectory` and returns the result.

      
        Request context
      
      
        Organization ID.
      
      
        Directory ID.
      
      
        The updated resource.
      

```go wrap showLineNumbers=false
resp, err := scalekitClient.Directory().EnableDirectory(ctx, "org_123", "dir_123")
if err != nil {
  // handle
}
_ = resp.Enabled
```

    
  
</div>

### DisableDirectory
<div class="sdk-method-section">
  
    
      

      Runs `DisableDirectory` and returns the result.

      
        Request context
      
      
        Organization ID.
      
      
        Directory ID.
      
      
        The updated resource.
      

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

    
  
</div>

</div>


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
