:doc:`ChimeSDKMeetings <../../chime-sdk-meetings>` / Client / update_attendee_capabilities

****************************
update_attendee_capabilities
****************************



.. py:method:: ChimeSDKMeetings.Client.update_attendee_capabilities(**kwargs)

  

  The capabilities that you want to update.

   

  .. note::

    

    You use the capabilities with a set of values that control what the capabilities can do, such as ``SendReceive`` data. For more information about those values, see .

    

   

  When using capabilities, be aware of these corner cases:

   

  
  * If you specify ``MeetingFeatures:Video:MaxResolution:None`` when you create a meeting, all API requests that include ``SendReceive``, ``Send``, or ``Receive`` for ``AttendeeCapabilities:Video`` will be rejected with ``ValidationError 400``.
   
  * If you specify ``MeetingFeatures:Content:MaxResolution:None`` when you create a meeting, all API requests that include ``SendReceive``, ``Send``, or ``Receive`` for ``AttendeeCapabilities:Content`` will be rejected with ``ValidationError 400``.
   
  * You can't set ``content`` capabilities to ``SendReceive`` or ``Receive`` unless you also set ``video`` capabilities to ``SendReceive`` or ``Receive``. If you don't set the ``video`` capability to receive, the response will contain an HTTP 400 Bad Request status code. However, you can set your ``video`` capability to receive and you set your ``content`` capability to not receive.
   
  * If meeting features is defined as ``Video:MaxResolution:None`` but ``Content:MaxResolution`` is defined as something other than ``None`` and attendee capabilities are not defined in the API request, then the default attendee video capability is set to ``Receive`` and attendee content capability is set to ``SendReceive``. This is because content ``SendReceive`` requires video to be at least ``Receive``.
   
  * When you change an ``audio`` capability from ``None`` or ``Receive`` to ``Send`` or ``SendReceive`` , and if the attendee left their microphone unmuted, audio will flow from the attendee to the other meeting participants.
   
  * When you change a ``video`` or ``content`` capability from ``None`` or ``Receive`` to ``Send`` or ``SendReceive`` , and if the attendee turned on their video or content streams, remote attendees can receive those streams, but only after media renegotiation between the client and the Amazon Chime back-end server.
  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-meetings-2021-07-15/UpdateAttendeeCapabilities>`_  


  **Request Syntax**
  ::

    response = client.update_attendee_capabilities(
        MeetingId='string',
        AttendeeId='string',
        Capabilities={
            'Audio': 'SendReceive'|'Send'|'Receive'|'None',
            'Video': 'SendReceive'|'Send'|'Receive'|'None',
            'Content': 'SendReceive'|'Send'|'Receive'|'None'
        }
    )
    
  :type MeetingId: string
  :param MeetingId: **[REQUIRED]** 

    The ID of the meeting associated with the update request.

    

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

    The ID of the attendee associated with the update request.

    

  
  :type Capabilities: dict
  :param Capabilities: **[REQUIRED]** 

    The capabilities that you want to update.

    

  
    - **Audio** *(string) --* **[REQUIRED]** 

      The audio capability assigned to an attendee.

      

    
    - **Video** *(string) --* **[REQUIRED]** 

      The video capability assigned to an attendee.

      

    
    - **Content** *(string) --* **[REQUIRED]** 

      The content capability assigned to an attendee.

      

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

    
    ::

      {
          'Attendee': {
              'ExternalUserId': 'string',
              'AttendeeId': 'string',
              'JoinToken': 'string',
              'Capabilities': {
                  'Audio': 'SendReceive'|'Send'|'Receive'|'None',
                  'Video': 'SendReceive'|'Send'|'Receive'|'None',
                  'Content': 'SendReceive'|'Send'|'Receive'|'None'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Attendee** *(dict) --* 

        The updated attendee data.

        
        

        - **ExternalUserId** *(string) --* 

          The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.

           

          Pattern: ``[-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*``

           

          Values that begin with ``aws:`` are reserved. You can't configure a value that uses this prefix. Case insensitive.

          
        

        - **AttendeeId** *(string) --* 

          The Amazon Chime SDK attendee ID.

          
        

        - **JoinToken** *(string) --* 

          The join token used by the Amazon Chime SDK attendee.

          
        

        - **Capabilities** *(dict) --* 

          The capabilities assigned to an attendee: audio, video, or content.

           

          .. note::

            

            You use the capabilities with a set of values that control what the capabilities can do, such as ``SendReceive`` data. For more information about those values, see .

            

           

          When using capabilities, be aware of these corner cases:

           

          
          * If you specify ``MeetingFeatures:Video:MaxResolution:None`` when you create a meeting, all API requests that include ``SendReceive``, ``Send``, or ``Receive`` for ``AttendeeCapabilities:Video`` will be rejected with ``ValidationError 400``.
           
          * If you specify ``MeetingFeatures:Content:MaxResolution:None`` when you create a meeting, all API requests that include ``SendReceive``, ``Send``, or ``Receive`` for ``AttendeeCapabilities:Content`` will be rejected with ``ValidationError 400``.
           
          * You can't set ``content`` capabilities to ``SendReceive`` or ``Receive`` unless you also set ``video`` capabilities to ``SendReceive`` or ``Receive``. If you don't set the ``video`` capability to receive, the response will contain an HTTP 400 Bad Request status code. However, you can set your ``video`` capability to receive and you set your ``content`` capability to not receive.
           
          * If meeting features is defined as ``Video:MaxResolution:None`` but ``Content:MaxResolution`` is defined as something other than ``None`` and attendee capabilities are not defined in the API request, then the default attendee video capability is set to ``Receive`` and attendee content capability is set to ``SendReceive``. This is because content ``SendReceive`` requires video to be at least ``Receive``.
           
          * When you change an ``audio`` capability from ``None`` or ``Receive`` to ``Send`` or ``SendReceive`` , and if the attendee left their microphone unmuted, audio will flow from the attendee to the other meeting participants.
           
          * When you change a ``video`` or ``content`` capability from ``None`` or ``Receive`` to ``Send`` or ``SendReceive`` , and if the attendee turned on their video or content streams, remote attendees can receive those streams, but only after media renegotiation between the client and the Amazon Chime back-end server.
          

          
          

          - **Audio** *(string) --* 

            The audio capability assigned to an attendee.

            
          

          - **Video** *(string) --* 

            The video capability assigned to an attendee.

            
          

          - **Content** *(string) --* 

            The content capability assigned to an attendee.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`ChimeSDKMeetings.Client.exceptions.BadRequestException`

  
  *   :py:class:`ChimeSDKMeetings.Client.exceptions.ConflictException`

  
  *   :py:class:`ChimeSDKMeetings.Client.exceptions.UnauthorizedException`

  
  *   :py:class:`ChimeSDKMeetings.Client.exceptions.NotFoundException`

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

  
  *   :py:class:`ChimeSDKMeetings.Client.exceptions.ServiceUnavailableException`

  
  *   :py:class:`ChimeSDKMeetings.Client.exceptions.ServiceFailureException`

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

  