HelloJohn / docs
SDKsPython SDK

Users

Manage users server-side with the HelloJohn Python SDK — get, list, create, update, and delete users.

Users

The Python SDK provides a users service for managing users from your backend.

from hellojohn import HelloJohn

hj = HelloJohn(
    tenant_id=os.environ["HELLOJOHN_TENANT_ID"],
    secret_key=os.environ["HELLOJOHN_SECRET_KEY"],
)

Get a User

user = hj.users.get("usr_01HABCDEF123456")
print(user.email)
# By email
user = hj.users.get_by_email("jane@example.com")

List Users

result = hj.users.list(limit=50)

for user in result.users:
    print(user.id, user.email)

# Next page
if result.next_cursor:
    next_page = hj.users.list(cursor=result.next_cursor)

Create a User

user = hj.users.create(
    email="jane@example.com",
    password="TemporaryPass123!",
    first_name="Jane",
    last_name="Doe",
    email_verified=True,
    metadata={"plan": "pro"},
)

Update a User

hj.users.update(
    "usr_01HABCDEF123456",
    first_name="Jane",
    last_name="Smith",
    metadata={"plan": "enterprise"},
)

Disable / Enable

hj.users.disable("usr_01HABCDEF123456")
hj.users.enable("usr_01HABCDEF123456")

Delete

hj.users.delete("usr_01HABCDEF123456")

Async Support

All methods have async equivalents when using AsyncHelloJohn:

from hellojohn.asyncio import AsyncHelloJohn

hj = AsyncHelloJohn(
    tenant_id=os.environ["HELLOJOHN_TENANT_ID"],
    secret_key=os.environ["HELLOJOHN_SECRET_KEY"],
)

async def main():
    user = await hj.users.get("usr_01HABCDEF123456")
    print(user.email)

On this page