:doc:`ChimeSDKMessaging <../../chime-sdk-messaging>` / Client / get_channel_membership_preferences

**********************************
get_channel_membership_preferences
**********************************



.. py:method:: ChimeSDKMessaging.Client.get_channel_membership_preferences(**kwargs)

  

  Gets the membership preferences of an ``AppInstanceUser`` or ``AppInstanceBot`` for the specified channel. A user or a bot must be a member of the channel and own the membership in order to retrieve membership preferences. Users or bots in the ``AppInstanceAdmin`` and channel moderator roles can't retrieve preferences for other users or bots. Banned users or bots can't retrieve membership preferences for the channel from which they are banned.

   

  .. note::

    

    The ``x-amz-chime-bearer`` request header is mandatory. Use the ARN of the ``AppInstanceUser`` or ``AppInstanceBot`` that makes the API call as the value in the header.

    

  

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


  **Request Syntax**
  ::

    response = client.get_channel_membership_preferences(
        ChannelArn='string',
        MemberArn='string',
        ChimeBearer='string'
    )
    
  :type ChannelArn: string
  :param ChannelArn: **[REQUIRED]** 

    The ARN of the channel.

    

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

    The ``AppInstanceUserArn`` of the member retrieving the preferences.

    

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

    The ARN of the ``AppInstanceUser`` or ``AppInstanceBot`` that makes the API call.

    

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

    
    ::

      {
          'ChannelArn': 'string',
          'Member': {
              'Arn': 'string',
              'Name': 'string'
          },
          'Preferences': {
              'PushNotifications': {
                  'AllowNotifications': 'ALL'|'NONE'|'FILTERED',
                  'FilterRule': 'string'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ChannelArn** *(string) --* 

        The ARN of the channel.

        
      

      - **Member** *(dict) --* 

        The details of a user.

        
        

        - **Arn** *(string) --* 

          The ARN in an Identity.

          
        

        - **Name** *(string) --* 

          The name in an Identity.

          
    
      

      - **Preferences** *(dict) --* 

        The channel membership preferences for an ``AppInstanceUser`` .

        
        

        - **PushNotifications** *(dict) --* 

          The push notification configuration of a message.

          
          

          - **AllowNotifications** *(string) --* 

            Enum value that indicates which push notifications to send to the requested member of a channel. ``ALL`` sends all push notifications, ``NONE`` sends no push notifications, ``FILTERED`` sends only filtered push notifications.

            
          

          - **FilterRule** *(string) --* 

            The simple JSON object used to send a subset of a push notification to the requested member.

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

  
  *   :py:class:`ChimeSDKMessaging.Client.exceptions.UnauthorizedClientException`

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

  
  *   :py:class:`ChimeSDKMessaging.Client.exceptions.ThrottledClientException`

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

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

  