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

---

# Roles

Define and assign organization roles
<div class="sdk-client-page">

Use `scalekitClient.roles()` to define organization roles and list role assignments.

Create roles and permissions for authorization after you have organizations and users.

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

      Runs `createRole` and returns the result.

      
        Request payload.
      
      
        level role management CreateRoleResponse
      

```java wrap showLineNumbers=false

CreateRoleRequest req = CreateRoleRequest.newBuilder().build();
scalekitClient.roles().createRole(req);
```

    
  
</div>

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

      Runs `getRole` and returns the result.

      
        Role name.
      
      
        The response payload for this operation.
      

```java wrap showLineNumbers=false
scalekitClient.roles().getRole("admin");
```

    
  
</div>

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

      Runs `listRoles` and returns the result.

      
        Paginated results.
      

```java wrap showLineNumbers=false
scalekitClient.roles().listRoles();
```

    
  
</div>

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

      Runs `updateRole` and returns the result.

      
        Role name.
      
      
        Request payload.
      
      
        The updated resource.
      

```java wrap showLineNumbers=false

UpdateRoleRequest req = UpdateRoleRequest.newBuilder().build();
scalekitClient.roles().updateRole("admin", req);
```

    
  
</div>

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

      Runs `deleteRole` and returns the result.

      
        Role name.
      
      
        Reassign role name.
      
      
        No return value
      

```java wrap showLineNumbers=false
scalekitClient.roles().deleteRole("old_role", "new_role");
```

    
  
</div>

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

      Runs `getRoleUsersCount` and returns the result.

      
        Role name.
      
      
        The response payload for this operation.
      

```java wrap showLineNumbers=false
scalekitClient.roles().getRoleUsersCount("admin");
```

    
  
</div>

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

      Runs `createOrganizationRole` and returns the result.

      
        Org id.
      
      
        Request payload.
      
      
        level role management CreateOrganizationRoleResponse
      

```java wrap showLineNumbers=false

CreateOrganizationRoleRequest req = CreateOrganizationRoleRequest.newBuilder().build();
scalekitClient.roles().createOrganizationRole("org_123", req);
```

    
  
</div>

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

      Runs `getOrganizationRole` and returns the result.

      
        Org id.
      
      
        Role name.
      
      
        The response payload for this operation.
      

```java wrap showLineNumbers=false
scalekitClient.roles().getOrganizationRole("org_123", "org_admin");
```

    
  
</div>

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

      Runs `listOrganizationRoles` and returns the result.

      
        Org id.
      
      
        Paginated results.
      

```java wrap showLineNumbers=false
scalekitClient.roles().listOrganizationRoles("org_123");
```

    
  
</div>

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

      Runs `updateOrganizationRole` and returns the result.

      
        Org id.
      
      
        Role name.
      
      
        Request payload.
      
      
        The updated resource.
      

```java wrap showLineNumbers=false

UpdateOrganizationRoleRequest req = UpdateOrganizationRoleRequest.newBuilder().build();
scalekitClient.roles().updateOrganizationRole("org_123", "org_admin", req);
```

    
  
</div>

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

      Runs `deleteOrganizationRole` and returns the result.

      
        Org id.
      
      
        Role name.
      
      
        Reassign role name.
      
      
        No return value
      

```java wrap showLineNumbers=false
scalekitClient.roles().deleteOrganizationRole("org_123", "old_role", "new_role");
```

    
  
</div>

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

      Runs `getOrganizationRoleUsersCount` and returns the result.

      
        Org id.
      
      
        Role name.
      
      
        The response payload for this operation.
      

    
  
</div>

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

      Runs `updateDefaultOrganizationRoles` and returns the result.

      
        Org id.
      
      
        Request payload.
      
      
        The updated resource.
      

```java wrap showLineNumbers=false

UpdateDefaultOrganizationRolesRequest req = UpdateDefaultOrganizationRolesRequest.newBuilder().build();
scalekitClient.roles().updateDefaultOrganizationRoles("org_123", req);
```

    
  
</div>

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

      Runs `updateDefaultRoles` and returns the result.

      
        Request payload.
      
      
        The updated resource.
      

    
  
</div>

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

      Runs `listDependentRoles` and returns the result.

      
        Role name.
      
      
        Paginated results.
      

    
  
</div>

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

      Runs `deleteRoleBase` and returns the result.

      
        Role name.
      
      
        Deprecated void
      

```java wrap showLineNumbers=false
scalekitClient.roles().deleteRoleBase("admin");
```

    
  
</div>

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

      Runs `deleteOrganizationRoleBase` and returns the result.

      
        Org id.
      
      
        Role name.
      
      
        No return value
      

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