On the staff side, a user with only edit_borrowers permission can change the password on a patron account. That should be sufficient for changing the password via API as well.