:doc:`CognitoIdentityProvider <../../cognito-idp>` / Client / set_user_settings

*****************
set_user_settings
*****************



.. py:method:: CognitoIdentityProvider.Client.set_user_settings(**kwargs)

  

  *This action is no longer supported.* You can use it to configure only SMS MFA. You can't use it to configure time-based one-time password (TOTP) software token or email MFA.

   

  Authorize this action with a signed-in user's access token. It must include the scope ``aws.cognito.signin.user.admin``.

   

  .. note::

    

    Amazon Cognito doesn't evaluate Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you can't use IAM credentials to authorize requests, and you can't grant IAM permissions in policies. For more information about authorization models in Amazon Cognito, see `Using the Amazon Cognito user pools API and user pool endpoints <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html>`__.

    

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserSettings>`_  


  **Request Syntax**
  ::

    response = client.set_user_settings(
        AccessToken='string',
        MFAOptions=[
            {
                'DeliveryMedium': 'SMS'|'EMAIL',
                'AttributeName': 'string'
            },
        ]
    )
    
  :type AccessToken: string
  :param AccessToken: **[REQUIRED]** 

    A valid access token that Amazon Cognito issued to the currently signed-in user. Must include a scope claim for ``aws.cognito.signin.user.admin``.

    

  
  :type MFAOptions: list
  :param MFAOptions: **[REQUIRED]** 

    You can use this parameter only to set an SMS configuration that uses SMS for delivery.

    

  
    - *(dict) --* 

      *This data type is no longer supported.* Applies only to SMS multi-factor authentication (MFA) configurations. Does not apply to time-based one-time password (TOTP) software token MFA configurations.

      

    
      - **DeliveryMedium** *(string) --* 

        The delivery medium to send the MFA code. You can use this parameter to set only the ``SMS`` delivery medium value.

        

      
      - **AttributeName** *(string) --* 

        The attribute name of the MFA option type. The only valid value is ``phone_number``.

        

      
    

  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 

      The response from the server for a set user settings request.

      
  
  **Exceptions**
  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.NotAuthorizedException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.PasswordResetRequiredException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.UserNotFoundException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.UserNotConfirmedException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.InternalErrorException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.ForbiddenException`

  