Example: Changing the roles associated with a user account
Here’s a sample POST request that changes the roles associated with the user account with the username mwhite. The new set of roles is specified in an XML file named mwhite-UAroles.xml. The request is made using a tenant-level user account that includes the security role.
Request body in XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <userAccount> <roles> <role>COMPLIANCE</role> <role>MONITOR</role> <role>ADMINISTRATOR</role> </roles> </userAccount>
Request with cURL command line
curl -k -i -d @mwhite-UAroles.xml -H "Content-Type: application/xml" -H "Authorization: HCP bGdyZWVu:a3b9c163f6c520407ff34cfdb83ca5c6" "https://finance.hcp.example.com:9090/mapi/tenants/finance/ userAccounts/mwhite"
Request in Python using PycURL
import pycurl import os filehandle = open("mwhite-UAroles.xml", 'rb') curl = pycurl.Curl() curl.setopt(pycurl.HTTPHEADER, ["Content-Type: application/xml", "Authorization: HCP \ bGdyZWVu:a3b9c163f6c520407ff34cfdb83ca5c6"]) curl.setopt(pycurl.URL, "https://finance.hcp.example.com:9090/mapi/tenants/finance/" + "userAccounts/mwhite") curl.setopt(pycurl.SSL_VERIFYPEER, 0) curl.setopt(pycurl.SSL_VERIFYHOST, 0) curl.setopt(pycurl.UPLOAD, 1) curl.setopt(pycurl.CUSTOMREQUEST, "POST") curl.setopt(pycurl.INFILESIZE, os.path.getsize("mwhite-UAroles.xml")) curl.setopt(pycurl.READFUNCTION, filehandle.read) curl.perform() print curl.getinfo(pycurl.RESPONSE_CODE) curl.close() filehandle.close()
Request headers
POST /mapi/tenants/finance/userAccounts/mwhite HTTP/1.1 Host: finance.hcp.example.com:9090 Authorization: HCP bGdyZWVu:a3b9c163f6c520407ff34cfdb83ca5c6 Content-Type: application/xml Content-Length: 120
Response headers
HTTP/1.1 200 OK Content-Type: application/xml X-HCP-SoftwareVersion: 9.0.0.2 Content-Length: 0