Zendesk admins can use this API to set a user's password if the option is enabled in the account. See Allowing administrators to set passwords in Zendesk help.

Admins and agents can also use this API to change their own password. See Changing your password in the agent guide in Zendesk help.

Set a User's Password

  • POST /api/v2/users/{user_id}/password

An admin can set a user's password only if the setting is enabled in Zendesk Support under Settings > Security > Global. The setting is off by default. Only the account owner can access and change this setting.

Allowed For

  • Admins

Parameters

Name Type In Required Description
user_id integer Path true The ID of the user

Using curl

curl https://{subdomain}.zendesk.com/api/v2/users/{user_id}/password.json \  -X POST -d '{"password": "newpassword"}' -H "Content-Type: application/json" \  -v -u {email_address}:{password}

Example Response

Status 200 OK

Change Your Password

  • PUT /api/v2/users/{user_id}/password

You can only change your own password. Nobody can change the password of another user because it requires knowing the user's existing password. However, an admin can set a new password for another user without knowing the existing password. See Set a User's Password above.

Allowed For

  • Agents
  • End Users

Parameters

Name Type In Required Description
user_id integer Path true The ID of the user

Using curl

curl https://{subdomain}.zendesk.com/api/v2/users/{user_id}/password.json \  -X PUT -d '{"previous_password": "oldpassword", "password": "newpassword"}' \  -v -u {email_address}:{password} -H "Content-Type: application/json"

Example Response

Status 200 OK

List password requirements

  • GET /api/v2/users/{user_id}/password/requirements

Allowed For

  • Agents
  • End Users

Parameters

Name Type In Required Description
user_id integer Path true The ID of the user

Using curl

curl https://{subdomain}.zendesk.com/api/v2/users/{user_id}/password/requirements.json \  -v -u {email_address}:{password} -H "Content-Type: application/json"

Example Response

Status 200 OK
{  "requirements": [    "must be at least 5 characters",    "must be different from email address"  ]}