:doc:`AppSync <../../appsync>` / Client / list_channel_namespaces

***********************
list_channel_namespaces
***********************



.. py:method:: AppSync.Client.list_channel_namespaces(**kwargs)

  

  Lists the channel namespaces for a specified ``Api``.

   

  ``ListChannelNamespaces`` returns only high level details for the channel namespace. To retrieve code handlers, use ``GetChannelNamespace``.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListChannelNamespaces>`_  


  **Request Syntax**
  ::

    response = client.list_channel_namespaces(
        apiId='string',
        nextToken='string',
        maxResults=123
    )
    
  :type apiId: string
  :param apiId: **[REQUIRED]** 

    The ``Api`` ID.

    

  
  :type nextToken: string
  :param nextToken: 

    An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

    

  
  :type maxResults: integer
  :param maxResults: 

    The maximum number of results that you want the request to return.

    

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

    
    ::

      {
          'channelNamespaces': [
              {
                  'apiId': 'string',
                  'name': 'string',
                  'subscribeAuthModes': [
                      {
                          'authType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT'|'AWS_LAMBDA'
                      },
                  ],
                  'publishAuthModes': [
                      {
                          'authType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT'|'AWS_LAMBDA'
                      },
                  ],
                  'codeHandlers': 'string',
                  'tags': {
                      'string': 'string'
                  },
                  'channelNamespaceArn': 'string',
                  'created': datetime(2015, 1, 1),
                  'lastModified': datetime(2015, 1, 1),
                  'handlerConfigs': {
                      'onPublish': {
                          'behavior': 'CODE'|'DIRECT',
                          'integration': {
                              'dataSourceName': 'string',
                              'lambdaConfig': {
                                  'invokeType': 'REQUEST_RESPONSE'|'EVENT'
                              }
                          }
                      },
                      'onSubscribe': {
                          'behavior': 'CODE'|'DIRECT',
                          'integration': {
                              'dataSourceName': 'string',
                              'lambdaConfig': {
                                  'invokeType': 'REQUEST_RESPONSE'|'EVENT'
                              }
                          }
                      }
                  }
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **channelNamespaces** *(list) --* 

        The ``ChannelNamespace`` objects.

        
        

        - *(dict) --* 

          Describes a channel namespace associated with an ``Api``. The ``ChannelNamespace`` contains the definitions for code handlers for the ``Api``.

          
          

          - **apiId** *(string) --* 

            The ``Api`` ID.

            
          

          - **name** *(string) --* 

            The name of the channel namespace. This name must be unique within the ``Api``.

            
          

          - **subscribeAuthModes** *(list) --* 

            The authorization mode to use for subscribing to messages on the channel namespace. This configuration overrides the default ``Api``authorization configuration.

            
            

            - *(dict) --* 

              Describes an authorization configuration. Use ``AuthMode`` to specify the publishing and subscription authorization configuration for an Event API.

              
              

              - **authType** *(string) --* 

                The authorization type.

                
          
        
          

          - **publishAuthModes** *(list) --* 

            The authorization mode to use for publishing messages on the channel namespace. This configuration overrides the default ``Api``authorization configuration.

            
            

            - *(dict) --* 

              Describes an authorization configuration. Use ``AuthMode`` to specify the publishing and subscription authorization configuration for an Event API.

              
              

              - **authType** *(string) --* 

                The authorization type.

                
          
        
          

          - **codeHandlers** *(string) --* 

            The event handler functions that run custom business logic to process published events and subscribe requests.

            
          

          - **tags** *(dict) --* 

            A map with keys of ``TagKey`` objects and values of ``TagValue`` objects.

            
            

            - *(string) --* 

              The key for the tag.

              
              

              - *(string) --* 

                The value for the tag.

                
        
      
          

          - **channelNamespaceArn** *(string) --* 

            The Amazon Resource Name (ARN) for the ``ChannelNamespace``.

            
          

          - **created** *(datetime) --* 

            The date and time that the ``ChannelNamespace`` was created.

            
          

          - **lastModified** *(datetime) --* 

            The date and time that the ``ChannelNamespace`` was last changed.

            
          

          - **handlerConfigs** *(dict) --* 

            The configuration for the ``OnPublish`` and ``OnSubscribe`` handlers.

            
            

            - **onPublish** *(dict) --* 

              The configuration for the ``OnPublish`` handler.

              
              

              - **behavior** *(string) --* 

                The behavior for the handler.

                
              

              - **integration** *(dict) --* 

                The integration data source configuration for the handler.

                
                

                - **dataSourceName** *(string) --* 

                  The unique name of the data source that has been configured on the API.

                  
                

                - **lambdaConfig** *(dict) --* 

                  The configuration for a Lambda data source.

                  
                  

                  - **invokeType** *(string) --* 

                    The invocation type for a Lambda data source.

                    
              
            
          
            

            - **onSubscribe** *(dict) --* 

              The configuration for the ``OnSubscribe`` handler.

              
              

              - **behavior** *(string) --* 

                The behavior for the handler.

                
              

              - **integration** *(dict) --* 

                The integration data source configuration for the handler.

                
                

                - **dataSourceName** *(string) --* 

                  The unique name of the data source that has been configured on the API.

                  
                

                - **lambdaConfig** *(dict) --* 

                  The configuration for a Lambda data source.

                  
                  

                  - **invokeType** *(string) --* 

                    The invocation type for a Lambda data source.

                    
              
            
          
        
      
    
      

      - **nextToken** *(string) --* 

        An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

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

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

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

  
  *   :py:class:`AppSync.Client.exceptions.InternalFailureException`

  