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

---

# Users

Provision and manage users and memberships
<div class="sdk-client-page">

Use `scalekitClient.users()` to provision people, manage organization memberships, and assign roles.

Common flows: invite or create a user, attach them to an organization, update profile fields, and look up users by Scalekit ID or your external ID.

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

      Runs `createUserAndMembership` and returns the result.

      
        Organization ID.
      
      
        Request payload.
      
      
        The created resource.
      

```java wrap showLineNumbers=false

CreateUserAndMembershipRequest req = CreateUserAndMembershipRequest.newBuilder()
  .setEmail("user@acme.com")
  .build();

scalekitClient.users().createUserAndMembership("org_123", req);
```

    
  
</div>

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

      Runs `getUser` and returns the result.

      
        Scalekit user ID (`usr_...`).
      
      
        The response payload for this operation.
      

```java wrap showLineNumbers=false
scalekitClient.users().getUser("user_123");
```

    
  
</div>

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

      Runs `listUsers` and returns the result.

      
        Request payload.
      
      
        Paginated results.
      

```java wrap showLineNumbers=false

ListUsersRequest req = ListUsersRequest.newBuilder()
  .setPageSize(20)
  .build();

scalekitClient.users().listUsers(req);
```

    
  
</div>

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

      Runs `updateUser` and returns the result.

      
        Scalekit user ID (`usr_...`).
      
      
        Request payload.
      
      
        The updated resource.
      

```java wrap showLineNumbers=false

UpdateUserRequest req = UpdateUserRequest.newBuilder()
  .setGivenName("Jane")
  .build();

scalekitClient.users().updateUser("user_123", req);
```

    
  
</div>

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

      Runs `deleteUser` and returns the result.

      
        Scalekit user ID (`usr_...`).
      
      
        No return value
      

```java wrap showLineNumbers=false
scalekitClient.users().deleteUser("user_123");
```

    
  
</div>

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

      Runs `createMembership` and returns the result.

      
        Organization ID.
      
      
        Scalekit user ID (`usr_...`).
      
      
        Request payload.
      
      
        The created resource.
      

```java wrap showLineNumbers=false

CreateMembershipRequest req = CreateMembershipRequest.newBuilder().build();

scalekitClient.users().createMembership("org_123", "user_123", req);
```

    
  
</div>

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

      Runs `deleteMembership` and returns the result.

      
        Organization ID.
      
      
        Scalekit user ID (`usr_...`).
      
      
        No return value
      

```java wrap showLineNumbers=false
scalekitClient.users().deleteMembership("org_123", "user_123");
```

    
  
</div>

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

      Runs `updateMembership` and returns the result.

      
        Organization ID.
      
      
        Scalekit user ID (`usr_...`).
      
      
        Request payload.
      
      
        The updated resource.
      

```java wrap showLineNumbers=false

UpdateMembershipRequest req = UpdateMembershipRequest.newBuilder().build();

scalekitClient.users().updateMembership("org_123", "user_123", req);
```

    
  
</div>

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

      Runs `listOrganizationUsers` and returns the result.

      
        Organization ID.
      
      
        Request payload.
      
      
        Paginated results.
      

```java wrap showLineNumbers=false

ListOrganizationUsersRequest req = ListOrganizationUsersRequest.newBuilder()
  .setPageSize(20)
  .build();

scalekitClient.users().listOrganizationUsers("org_123", req);
```

    
  
</div>

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

      Runs `searchUsers` and returns the result.

      
        Request payload.
      
      
        Paginated results.
      

    
  
</div>

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

      Runs `searchOrganizationUsers` and returns the result.

      
        Organization ID.
      
      
        Request payload.
      
      
        Paginated results.
      

    
  
</div>

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

      Runs `resendInvite` and returns the result.

      
        Organization ID.
      
      
        Scalekit user ID (`usr_...`).
      
      
        Resend invite.
      

```java wrap showLineNumbers=false
scalekitClient.users().resendInvite("org_123", "user_123");
```

    
  
</div>

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

      Runs `listUserRoles` and returns the result.

      
        Organization ID.
      
      
        Scalekit user ID (`usr_...`).
      
      
        Paginated results.
      

    
  
</div>

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

      Runs `listUserPermissions` and returns the result.

      
        Organization ID.
      
      
        Scalekit user ID (`usr_...`).
      
      
        Paginated results.
      

    
  
</div>

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

      Runs `getUserByExternalId` and returns the result.

      
        External ID.
      
      
        The response payload for this operation.
      

    
  
</div>

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

      Runs `updateUserByExternalId` and returns the result.

      
        External ID.
      
      
        Request payload.
      
      
        The updated resource.
      

    
  
</div>

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

      Runs `deleteUserByExternalId` and returns the result.

      
        External ID.
      
      
        No return value
      

    
  
</div>

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

      Runs `createMembershipByExternalId` and returns the result.

      
        Organization ID.
      
      
        External ID.
      
      
        Request payload.
      
      
        The created resource.
      

    
  
</div>

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

      Runs `deleteMembershipByExternalId` and returns the result.

      
        Organization ID.
      
      
        External ID.
      
      
        No return value
      

    
  
</div>

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

      Runs `updateMembershipByExternalId` and returns the result.

      
        Organization ID.
      
      
        External ID.
      
      
        Request payload.
      
      
        The updated resource.
      

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