Toggling two-factor authentication for a user account
Authenticate to the cloud platform via the Python shell.
The following variables should be available now:
>>> base_url # the base URL of the API 'https://eu2-cloud.acronis.com/api/2' >>> auth # the 'Authorization' header value with the access token {'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImMwMD...'} >>> tenant_id # the UUID of the tenant to which the token provides access 'ede9f834-70b3-476c-83d9-736f9f8c7dae'
Assign the
user_id
variable the UUID of a user account created via the API or a user account found via search:>>> user_id = created_user_id >>> user_id '1c234e69-5469-424a-a6d1-ff5658b387a6'
Define a variable named
mfa_status
, and then assign an object with theenabled
key containing desired status of two-factor authentication to this variable:>>> mfa_status = { ... 'enabled': True ... }
Convert the
mfa_status
object to a JSON text:>>> mfa_status = json.dumps(mfa_status, indent=4) >>> print(mfa_status) { "enabled": true }
Send a PUT request with the JSON text to the
/users/{user_id}/mfa/status
endpoint:>>> response = requests.put( ... f'{base_url}/users/{user_id}/mfa/status', ... headers={'Content-Type': 'application/json', **auth}, ... data=mfa_status, ... )
Check the status code of the response:
>>> response.status_code 200
Status code 200 means that the platform has changed the status of two-factor authentication for the user account.
A different status code means that an error has occurred. For the details, refer to “Status and error codes”.