Service: zimbraAccount

Command: ChangePassword
Namespace: urn:zimbraAccount
Description: Change Password
Properties:
Authorization token required false - This command can be sent before authenticating. The command handler will internally make sure the old password provided matches the current password of the account.
Admin Authorization token required false

ChangePasswordRequest

    <ChangePasswordRequest> ## ChangePasswordRequest
        <account by="{acct-selector-by} (adminName | appAdminName | id | foreignPrincipal | name | krb5Principal)">{key}</account> ## AccountSelector
        <oldPassword>{oldPassword} (String)</oldPassword>
        <password>{password} (String)</password>
        <virtualHost>{virtualHost} (String)</virtualHost>
        <dryRun>{dryRun} (boolean)</dryRun>
    </ChangePasswordRequest>

elements and attributes you can define within a <ChangePasswordRequest> element:

XPath Required / Optional Description
/account Required (only 1) Type: {key}
Details of the account
Description for element text content:The key used to identify the account. Meaning determined by {acct-selector-by}
/account@by Required (only 1) Type: adminName | appAdminName | id | foreignPrincipal | name | krb5Principal
Select the meaning of {acct-selector-key}
/oldPassword Required (only 1) Type: {oldPassword} (String)
Old password
/password Required (only 1) Type: {password} (String)
New Password to assign
/virtualHost Optional (0 or 1) Type: {virtualHost} (String)
if specified virtual-host is used to determine the domain of the account name, if it does not include a domain component. For example, if the domain foo.com has a zimbraVirtualHostname of "mail.foo.com", and an auth request comes in for "joe" with a virtualHost of "mail.foo.com", then the request will be equivalent to logging in with "joe@foo.com".
/dryRun Optional (0 or 1) Type: {dryRun} (boolean)

ChangePasswordResponse

Note: Returns new authToken, as old authToken will be invalidated on password change.

    <ChangePasswordResponse> ## ChangePasswordResponse
        <authToken>{authToken} (String)</authToken>
        <lifetime>{lifetime} (long)</lifetime>
    </ChangePasswordResponse>

elements and attributes you can define within a <ChangePasswordResponse> element:

XPath Required / Optional Description
/authToken Required (only 1) Type: {authToken} (String)
New authToken, as old authToken is invalidated on password change.
/lifetime Required (only 1) Type: {lifetime} (long)
Life time associated with {new-auth-token}