Hi,
I am using Python and looking to create a process to modify admin passwords via API. The problem that I just found is that I can't update the password via this API although there are verbs available, seems like the table can't manage CRUD operations.

On the above snapshot the documentation says the Entity can't be updated. However there's a verb for changing password:

To me this is a discrepancy between the documentation and actual verbs available for modifying data. Here's a reference to the API methods: http://solarwinds.github.io/OrionSDK/schema/Orion.Accounts.html
Here's my sample code that I try to execute:
from orionsdk import SwisClient
from requests.packages.urllib3.exceptions import InsecureRequestWarning
def sync_password(username,password,new_password,servers):
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
for server in servers:
swis = SwisClient(server,username,password)
qResult = swis.query(f"SELECT accountID FROM Orion.Accounts WHERE accountID='{str(username).title()}'")
if qResult['results']:
args = {
"accountId": str(username).title(),
"password": new_password
}
print(args)
swis.invoke('Orion.Accounts','ChangePassword',**args)
if __name__ == '__main__':
servers=['server1', 'server2', 'server3']
sync_password('admin',
'old_password',
'new_password',
servers
)
Here's the error:
C:\Users\Documents\Programming\resetPassword>python test.py
Traceback (most recent call last):
File "C:\Users\Documents\Programming\resetPassword\test.py", line 34, in
sync_password('admin',
File "C:\Users\Documents\Programming\resetPassword\test.py", line 29, in sync_password
swis.invoke('Orion.Accounts','ChangePassword',**args)
TypeError: invoke() got an unexpected keyword argument 'accountId'
Can anybody tell me if this needs to be reviewed by PM or Technical Support?
Thank you