Avnology ID
SDKsPython SDKAdmin API

User Management

CRUD operations for user management with the Python SDK Admin API.

User Management

list_users()

result = client.admin.list_users(page_size=50)

for user in result.users:
    print(f"{user.id}: {user.email} ({user.status})")

print(f"Total: {result.total_size}")

Pagination

all_users = []
page_token = None

while True:
    result = client.admin.list_users(page_size=100, page_token=page_token)
    all_users.extend(result.users)

    if not result.next_page_token:
        break
    page_token = result.next_page_token

print(f"Fetched {len(all_users)} users")

Filtering

# By email domain
acme_users = client.admin.list_users(
    filter='email.endsWith("@acme.com")',
)

# By organization
org_users = client.admin.list_users(
    organization_id="org_abc123",
    order_by="created_at desc",
)

get_user()

from avnology_id.errors import NotFoundError

try:
    user = client.admin.get_user(user_id="usr_abc123")
    print(user.email, user.name.first, user.name.last)
    print(f"MFA: {user.mfa_enabled} ({user.mfa_methods})")
except NotFoundError:
    print("User not found")

create_user()

from avnology_id.types import UserTraits, UserName

user = client.admin.create_user(
    email="[email protected]",
    password="TempPassword123!",
    traits=UserTraits(
        name=UserName(first="New", last="User"),
    ),
    organization_id="org_abc123",
    verified=True,
)

print(f"Created: {user.id}")

update_user()

updated = client.admin.update_user(
    user_id="usr_abc123",
    traits=UserTraits(
        name=UserName(first="Jane", last="Smith"),
    ),
    status="disabled",
)

delete_user()

client.admin.delete_user(user_id="usr_abc123")

search_users()

results = client.admin.search_users(query="jane", page_size=10)
for user in results.users:
    print(user.email, user.name)

bulk_import_users()

result = client.admin.bulk_import_users(
    users=[
        {"email": "[email protected]", "traits": {"name": {"first": "Alice"}}},
        {"email": "[email protected]", "traits": {"name": {"first": "Bob"}}},
    ],
    organization_id="org_abc123",
)

print(f"Created: {result.total_created}, Failed: {result.total_failed}")
for err in result.errors:
    print(f"User {err.index} failed: {err.error}")

See also

On this page