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

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

Use `scalekitClient.directories()` 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.

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

      Runs `getDirectory` and returns the result.

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

```java wrap showLineNumbers=false
scalekitClient.directories().getDirectory("dir_123", "org_123");
```

    
  
</div>

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

      Runs `listDirectories` and returns the result.

      
        Organization ID.
      
      
        Paginated results.
      

```java wrap showLineNumbers=false
scalekitClient.directories().listDirectories("org_123");
```

    
  
</div>

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

      Runs `listDirectoryUsers` and returns the result.

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

```java wrap showLineNumbers=false

ListDirectoryResourceOptions options = ListDirectoryResourceOptions.builder()
  .pageSize(50)
  .includeDetail(true)
  .build();

ListDirectoryUserResponse res = scalekitClient.directories().listDirectoryUsers("dir_123", "org_123", options);
```

    
  
</div>

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

      Runs `listDirectoryGroups` and returns the result.

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

```java wrap showLineNumbers=false

ListDirectoryResourceOptions options = ListDirectoryResourceOptions.builder()
  .pageSize(50)
  .includeDetail(true)
  .build();

ListDirectoryGroupResponse res = scalekitClient.directories().listDirectoryGroups("dir_123", "org_123", options);
```

    
  
</div>

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

      Runs `enableDirectory` and returns the result.

      
        Directory ID.
      
      
        Organization ID.
      
      
        The updated resource.
      

```java wrap showLineNumbers=false
scalekitClient.directories().enableDirectory("dir_123", "org_123");
```

    
  
</div>

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

      Runs `disableDirectory` and returns the result.

      
        Directory ID.
      
      
        Organization ID.
      
      
        The updated resource.
      

```java wrap showLineNumbers=false
scalekitClient.directories().disableDirectory("dir_123", "org_123");
```

    
  
</div>

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

      Runs `getPrimaryDirectoryByOrganizationId` and returns the result.

      
        Organization ID.
      
      
        The response payload for this operation.
      

```java wrap showLineNumbers=false
scalekitClient.directories().getPrimaryDirectoryByOrganizationId("org_123");
```

    
  
</div>

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

      Runs `createDirectory` and returns the result.

      
        Organization ID.
      
      
        Directory.
      
      
        The created resource.
      

```java wrap showLineNumbers=false

CreateDirectory req = CreateDirectory.newBuilder()
  .setDisplayName("Acme SCIM Directory")
  .build();

scalekitClient.directories().createDirectory("org_123", req);
```

    
  
</div>

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

      Runs `deleteDirectory` and returns the result.

      
        Directory ID.
      
      
        Organization ID.
      
      
        No return value
      

```java wrap showLineNumbers=false
scalekitClient.directories().deleteDirectory("dir_123", "org_123");
```

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