def get_enrolled_factors(self, user_id):
self.clean_error()<EOL>try:<EOL><INDENT>url = self.get_url(Constants.GET_ENROLLED_FACTORS_URL, user_id)<EOL>response = self.execute_call('<STR_LIT>', url)<EOL>otp_devices = []<EOL>if response.status_code == <NUM_LIT:200>:<EOL><INDENT>json_data = response.json()<EOL>if json_data and json_data.get('<STR_LIT:data>', None):<EOL><INDENT>otp_devices_data = json_data['<STR_LIT:data>'].get('<STR_LIT>', None)<EOL>if otp_devices_data:<EOL><INDENT>for otp_device_data in otp_devices_data:<EOL><INDENT>otp_devices.append(OTP_Device(otp_device_data))<EOL><DEDENT><DEDENT><DEDENT><DEDENT>else:<EOL><INDENT>self.error = str(response.status_code)<EOL>self.error_description = self.extract_error_message_from_response(response)<EOL><DEDENT>return otp_devices<EOL><DEDENT>except Exception as e:<EOL><INDENT>self.error = <NUM_LIT><EOL>self.error_description = e.args[<NUM_LIT:0>]<EOL><DEDENT>
Return a list of authentication factors registered to a particular user for multifactor authentication (MFA)

:param user_id: Set to the id of the user.
:type user_id: integer

:return: OTP_Device list
:rtype: list[OTP_Device]

See https://developers.onelogin.com/api-docs/1/multi-factor-authentication/enrolled-factors Get Enrolled Authentication Factors documentation