> ## Documentation Index
> Fetch the complete documentation index at: https://finance.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Users

> Manage user accounts, profiles, and settings with the Python SDK

## Overview

The Users API allows you to create users, retrieve and update profiles, manage email addresses, and configure trading passwords.

## Class Reference

```python theme={null}
from aries_exchange import AriesClient

client = AriesClient(
    client_id="your_client_id",
    client_secret="your_client_secret"
)
```

## Methods

### create\_user()

Create a new user account.

```python theme={null}
user = client.users.create_user(
    email="user@example.com",
    password="SecurePass123!",
    first_name="John",
    last_name="Doe"
)
```

**Returns:** User object

### update\_current\_user()

Update user profile information.

```python theme={null}
updated = client.users.update_current_user(
    first_name="Jane",
    phone="+1234567890"
)
```

**Returns:** Updated User object

### get\_user\_accounts()

Get all trading accounts owned by user.

```python theme={null}
accounts = client.users.get_user_accounts()
for account in accounts:
    print(f"Account: {account.id} - {account.account_type}")
```

**Returns:** List of Account objects

### get\_user\_profile()

Get complete user profile.

```python theme={null}
profile = client.users.get_user_profile()
```

**Returns:** Profile object with personal details

### change\_email()

Update account email address.

```python theme={null}
result = client.users.change_email(
    new_email="newemail@example.com"
)
```

**Returns:** Success confirmation

### set\_trading\_password()

Configure password for sensitive operations.

```python theme={null}
client.users.set_trading_password(
    password="TradingPass456!"
)
```

**Returns:** Success confirmation

## Examples

### User Registration Flow

```python theme={null}
# Create new user
user = client.users.create_user(
    email="trader@example.com",
    password="SecurePass123!",
    first_name="Alex",
    last_name="Smith"
)

# Set trading password
client.users.set_trading_password(
    password="TradingPass456!"
)

# Get user accounts
accounts = client.users.get_user_accounts()
print(f"Accounts created: {len(accounts)}")
```

### Update User Profile

```python theme={null}
profile = client.users.get_user_profile()
print(f"Current email: {profile.email}")

# Update profile
updated = client.users.update_current_user(
    phone="+1234567890",
    address="123 Main St"
)
print("Profile updated")
```

## Related APIs

* [Accounts](/sdks/python/accounts) - Manage trading accounts
* [Authentication](/sdks/python/authentication) - OAuth2 authentication
