Skip to main content

UserProfile

User Profile resource for Authentication Service.

Resource operations

This resource supports the following standard methods: create(), load(), update(), delete(). They operate on the instance state — set properties with dot notation, then call the method with no arguments. Any other action listed below is a custom action that takes explicit keyword arguments and returns a value.

Quick Start​

import zssdk
import logging

# Enable debug logging for UserProfile
logging.getLogger('zssdk.zid').setLevel(logging.DEBUG)
logging.basicConfig(level=logging.DEBUG)

session = zssdk.Session(
vanity_domain="your-vanity-domain",
client_id="your-client-id",
client_secret="your-client-secret",
)

# Get a specific UserProfile
resource = session.zid.UserProfile(id="your-resource-id")
resource.load()
print(resource)

# Debug output shows HTTP request/response details

Identifiers​

NameTypeDescription
idstringUnique identifier

Actions​

bulkdelete()​

bulkdelete operation is all or none operation, if any user is not eligible for deletion, none of the users will be deleted

Parameters:

NameTypeRequiredDescription
usersRefPubReqCollectionYes-

Example:

resource = session.zid.UserProfile()
result = resource.bulkdelete(users=[{"id": "resource-id"}])
print(result)

create()​

Creates a new UserProfile. Set properties on the resource instance, then call create() — this method takes no arguments.

Properties for creation:

NameTypeRequiredDescription
login_namestringYes-
display_namestringYes-
first_namestringNo-
last_namestringNo-
primary_emailstringYes-
secondary_emailstringNo-
departmentRefPubRespNo-
statusbooleanYes-
custom_attrs_infoStringRecordNo-

Returns: UserProfile

Example:

resource = session.zid.UserProfile()
resource.login_name = "example-login-name"
resource.display_name = "example-display-name"
resource.primary_email = "user@example.com"
resource.status = True
resource.create()
print(f"Created with ID: {resource.id}")

delete()​

Deletes a UserProfile by id. Only the id identifier is required; delete() takes no other arguments.

Example:

resource = session.zid.UserProfile(id="your-resource-id")
resource.delete()

mfa()​

Parameters:

NameTypeRequiredDescription
timestampintegerYes-

Example:

resource = session.zid.UserProfile(id="your-resource-id")
result = resource.mfa(timestamp=3600)
print(result)

load()​

Fetches an existing UserProfile by id. Only the id identifier is required; load() takes no other arguments.

Returns: UserProfile

Example:

resource = session.zid.UserProfile(id="your-resource-id")
resource.load()
print(resource.display_name)

reset_password()​

Example:

resource = session.zid.UserProfile(id="your-resource-id")
result = resource.reset_password()
print(result)

update()​

Updates an existing UserProfile. Call load() first, modify properties, then call update() — this method takes no arguments.

Properties for update:

NameTypeRequiredDescription
login_namestringYes-
display_namestringYes-
first_namestringNo-
last_namestringNo-
primary_emailstringYes-
secondary_emailstringNo-
departmentRefPubRespNo-
statusbooleanYes-
custom_attrs_infoStringRecordNo-

Returns: UserProfile

Example:

resource = session.zid.UserProfile(id="your-resource-id")
resource.load()
resource.display_name = "Updated value"
resource.update()

update_password()​

Parameters:

NameTypeRequiredDescription
reset_pwd_on_loginbooleanNo-
passwordstringYes-

Example:

resource = session.zid.UserProfile(id="your-resource-id")
result = resource.update_password(password="value")
print(result)

Attributes​

NameTypeRequiredDescription
login_namestringYes-
display_namestringYes-
first_namestringNo-
last_namestringNo-
primary_emailstringYes-
secondary_emailstringNo-
departmentRefPubRespNo-
statusbooleanYes-
custom_attrs_infoStringRecordNo-
idstringYes-
sourcestringYes-
idpRefPubRespYes-