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

**************************
admin_update_device_status
**************************



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

  

  Updates the status of a user's device so that it is marked as remembered or not remembered for the purpose of device authentication. Device authentication is a "remember me" mechanism that silently completes sign-in from trusted devices with a device key instead of a user-provided MFA code. This operation changes the status of a device without deleting it, so you can enable it again later. For more information about device authentication, see `Working with devices <https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html>`__.

   

  .. note::

    

    Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

     

    **Learn more**

     

    
    * `Signing Amazon Web Services API Requests <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html>`__
     
    * `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/AdminUpdateDeviceStatus>`_  


  **Request Syntax**
  ::

    response = client.admin_update_device_status(
        UserPoolId='string',
        Username='string',
        DeviceKey='string',
        DeviceRememberedStatus='remembered'|'not_remembered'
    )
    
  :type UserPoolId: string
  :param UserPoolId: **[REQUIRED]** 

    The ID of the user pool where you want to change a user's device status.

    

  
  :type Username: string
  :param Username: **[REQUIRED]** 

    The name of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If ``username`` isn't an alias attribute in your user pool, this value must be the ``sub`` of a local user or the username of a user from a third-party IdP.

    

  
  :type DeviceKey: string
  :param DeviceKey: **[REQUIRED]** 

    The unique identifier, or device key, of the device that you want to update the status for.

    

  
  :type DeviceRememberedStatus: string
  :param DeviceRememberedStatus: 

    To enable device authentication with the specified device, set to ``remembered``.To disable, set to ``not_remembered``.

    

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 

      The status response to the request to update the device, as an administrator.

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

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

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

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

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

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

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

  