:doc:`Connect <../../connect>` / Client / associate_contact_with_user

***************************
associate_contact_with_user
***************************



.. py:method:: Connect.Client.associate_contact_with_user(**kwargs)

  

  Associates a queued contact with an agent.

   

  **Use cases**

   

  Following are common uses cases for this API:

   

  
  * Programmatically assign queued contacts to available users.
   
  * Leverage the IAM context key ``connect:PreferredUserArn`` to restrict contact association to specific preferred user.
  

   

  **Important things to know**

   

  
  * Use this API with chat, email, and task contacts. It does not support voice contacts.
   
  * Use it to associate contacts with users regardless of their current state, including custom states. Ensure your application logic accounts for user availability before making associations.
   
  * It honors the IAM context key ``connect:PreferredUserArn`` to prevent unauthorized contact associations.
   
  * It respects the IAM context key ``connect:PreferredUserArn`` to enforce authorization controls and prevent unauthorized contact associations. Verify that your IAM policies are properly configured to support your intended use cases.
   
  * The service quota *Queues per routing profile per instance* applies to manually assigned queues, too. For more information about this quota, see `Amazon Connect quotas <https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#connect-quotas>`__ in the *Amazon Connect Administrator Guide*.
  

   

  **Endpoints**: See `Amazon Connect endpoints and quotas <https://docs.aws.amazon.com/general/latest/gr/connect_region.html>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateContactWithUser>`_  


  **Request Syntax**
  ::

    response = client.associate_contact_with_user(
        InstanceId='string',
        ContactId='string',
        UserId='string'
    )
    
  :type InstanceId: string
  :param InstanceId: **[REQUIRED]** 

    The identifier of the Amazon Connect instance. You can `find the instance ID <https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html>`__ in the Amazon Resource Name (ARN) of the instance.

    

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

    The identifier of the contact in this instance of Amazon Connect.

    

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

    The identifier for the user. This can be the ID or the ARN of the user.

    

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`Connect.Client.exceptions.InvalidRequestException`

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

  
  *   :py:class:`Connect.Client.exceptions.AccessDeniedException`

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

  
  *   :py:class:`Connect.Client.exceptions.ThrottlingException`

  
  *   :py:class:`Connect.Client.exceptions.InternalServiceException`

  