> **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 `scalekit_client.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.

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

      Method to list all users in environment

      
        Optional. Page size for pagination
      
      
        Optional. Page token for pagination
      
      
        List Users Response
      

```python wrap showLineNumbers=false
response = scalekit_client.users.list_users(
    page_size=50,
    page_token='next_page_token'
)

for user in response[0].users:
    print(f"User: {user.email}")
```

    
  
</div>

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

      Method to list users for given organization id

      
        Organization id to list users for
      
      
        Optional. Page size for pagination
      
      
        Optional. Page token for pagination
      
      
        List Organization Users Response
      

```python wrap showLineNumbers=false
response = scalekit_client.users.list_organization_users(
    'org_123456',
    page_size=50
)

for user in response[0].users:
    print(f"User: {user.email}")
```

    
  
</div>

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

      Method to get user by ID

      
        User id to get user details
      
      
        Get User Response
      

```python wrap showLineNumbers=false
response = scalekit_client.users.get_user('usr_123456')
user = response[0].user
print(f"User: {user.email}")
```

    
  
</div>

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

      Method to get user by external ID

      
        External id to get user details
      
      
        Get User Response
      

```python wrap showLineNumbers=false
response = scalekit_client.users.get_user_by_external_id('external_123')
user = response[0].user
```

    
  
</div>

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

      Method to create a new user and add them to an organization

      
        Organization id to create user for
      
      
        CreateUser object with expected values for user creation
      
      
        Optional. Whether to send invitation email to the user
      
      
        Create User And Membership Response
      

```python wrap showLineNumbers=false
from scalekit.v1.users.users_pb2 import CreateUser

user = CreateUser()
user.email = "john.doe@example.com"
user.given_name = "John"
user.family_name = "Doe"

response = scalekit_client.users.create_user_and_membership(
    'org_123456',
    user,
    send_invitation_email=True
)
```

    
  
</div>

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

      Method to update an existing user by ID

      
        User id to update
      
      
        UpdateUser object with expected values for user update
      
      
        Update User Response
      

```python wrap showLineNumbers=false
from scalekit.v1.users.users_pb2 import UpdateUser

user = UpdateUser()
user.given_name = "John"

response = scalekit_client.users.update_user('usr_123456', user)
```

    
  
</div>

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

      Method to delete user by ID

      
        User id to be deleted
      
      
        Empty on success.
      

```python wrap showLineNumbers=false
scalekit_client.users.delete_user('usr_123456')
```

    
  
</div>

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

      Method to create a membership for a user by user ID

      
        Organization id
      
      
        User id
      
      
        CreateMembership object
      
      
        Optional. Whether to send invitation email to the user
      
      
        Create Membership Response
      

```python wrap showLineNumbers=false
from scalekit.v1.users.users_pb2 import CreateMembership

membership = CreateMembership()

response = scalekit_client.users.create_membership(
    'org_123456',
    'usr_123456',
    membership,
    send_invitation_email=True
)
```

    
  
</div>

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

      Method to update a membership for a user by user ID

      
        Organization id
      
      
        User id
      
      
        UpdateMembership object
      
      
        Update Membership Response
      

```python wrap showLineNumbers=false
from scalekit.v1.users.users_pb2 import UpdateMembership

membership = UpdateMembership()

response = scalekit_client.users.update_membership(
    'org_123456',
    'usr_123456',
    membership
)
```

    
  
</div>

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

      Method to delete a membership for a user by user ID

      
        Organization id
      
      
        User id
      
      
        Empty on success.
      

```python wrap showLineNumbers=false
scalekit_client.users.delete_membership('org_123456', 'usr_123456')
```

    
  
</div>

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

      Method to resend an invitation email to a user who has a pending invitation

      
        Organization id containing the pending invitation
      
      
        User id who has a pending invitation
      
      
        Resend Invite Response
      

```python wrap showLineNumbers=false
response = scalekit_client.users.resend_invite('org_123456', 'usr_123456')
```

    
  
</div>

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

      Method to update an existing user by external ID

      
        External id to update
      
      
        UpdateUser object with expected values for user update
      
      
        Update User Response
      

    
  
</div>

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

      Method to delete user by external ID

      
        External id to be deleted
      
      
        Empty on success.
      

    
  
</div>

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

      Method to create a membership for a user by external ID

      
        Organization id
      
      
        External id
      
      
        CreateMembership object
      
      
        Optional. Whether to send invitation email to the user
      
      
        Create Membership Response
      

    
  
</div>

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

      Method to update a membership for a user by external ID

      
        Organization id
      
      
        External id
      
      
        UpdateMembership object
      
      
        Update Membership Response
      

    
  
</div>

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

      Method to delete a membership for a user by external ID

      
        Organization id
      
      
        External id
      
      
        Empty on success.
      

    
  
</div>

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

      Method to list all roles assigned to a user in an organization

      
        Organization id containing the user
      
      
        User id to list roles for
      
      
        List User Roles Response
      

    
  
</div>

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

      Method to list all permissions granted to a user in an organization

      
        Organization id containing the user
      
      
        User id to list permissions for
      
      
        List User Permissions Response
      

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