:doc:`LexModelsV2 <../../lexv2-models>` / Client / list_intent_paths

*****************
list_intent_paths
*****************



.. py:method:: LexModelsV2.Client.list_intent_paths(**kwargs)

  

  Retrieves summary statistics for a path of intents that users take over sessions with your bot. The following fields are required:

   

  
  * ``startDateTime`` and ``endDateTime`` – Define a time range for which you want to retrieve results.
   
  * ``intentPath`` – Define an order of intents for which you want to retrieve metrics. Separate intents in the path with a forward slash. For example, populate the ``intentPath`` field with ``/BookCar/BookHotel`` to see details about how many times users invoked the ``BookCar`` and ``BookHotel`` intents in that order.
  

   

  Use the optional ``filters`` field to filter the results.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListIntentPaths>`_  


  **Request Syntax**
  ::

    response = client.list_intent_paths(
        botId='string',
        startDateTime=datetime(2015, 1, 1),
        endDateTime=datetime(2015, 1, 1),
        intentPath='string',
        filters=[
            {
                'name': 'BotAliasId'|'BotVersion'|'LocaleId'|'Modality'|'Channel',
                'operator': 'EQ'|'GT'|'LT',
                'values': [
                    'string',
                ]
            },
        ]
    )
    
  :type botId: string
  :param botId: **[REQUIRED]** 

    The identifier for the bot for which you want to retrieve intent path metrics.

    

  
  :type startDateTime: datetime
  :param startDateTime: **[REQUIRED]** 

    The date and time that marks the beginning of the range of time for which you want to see intent path metrics.

    

  
  :type endDateTime: datetime
  :param endDateTime: **[REQUIRED]** 

    The date and time that marks the end of the range of time for which you want to see intent path metrics.

    

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

    The intent path for which you want to retrieve metrics. Use a forward slash to separate intents in the path. For example:

     

    
    * /BookCar
     
    * /BookCar/BookHotel
     
    * /BookHotel/BookCar
    

    

  
  :type filters: list
  :param filters: 

    A list of objects, each describes a condition by which you want to filter the results.

    

  
    - *(dict) --* 

      Contains fields describing a condition by which to filter the paths. The expression may be understood as ``name`` ``operator`` ``values``. For example:

       

      
      * ``LocaleId EQ en`` – The locale is "en".
       
      * ``BotVersion EQ 2`` – The bot version is equal to two.
      

       

      The operators that each filter supports are listed below:

       

      
      * ``BotAlias`` – ``EQ``.
       
      * ``BotVersion`` – ``EQ``.
       
      * ``LocaleId`` – ``EQ``.
       
      * ``Modality`` – ``EQ``.
       
      * ``Channel`` – ``EQ``.
      

      

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

        The category by which to filter the intent paths. The descriptions for each option are as follows:

         

        
        * ``BotAlias`` – The name of the bot alias.
         
        * ``BotVersion`` – The version of the bot.
         
        * ``LocaleId`` – The locale of the bot.
         
        * ``Modality`` – The modality of the session with the bot (audio, DTMF, or text).
         
        * ``Channel`` – The channel that the bot is integrated with.
        

        

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

        The operation by which to filter the category. The following operations are possible:

         

        
        * ``CO`` – Contains
         
        * ``EQ`` – Equals
         
        * ``GT`` – Greater than
         
        * ``LT`` – Less than
        

         

        The operators that each filter supports are listed below:

         

        
        * ``BotAlias`` – ``EQ``.
         
        * ``BotVersion`` – ``EQ``.
         
        * ``LocaleId`` – ``EQ``.
         
        * ``Modality`` – ``EQ``.
         
        * ``Channel`` – ``EQ``.
        

        

      
      - **values** *(list) --* **[REQUIRED]** 

        An array containing the values of the category by which to apply the operator to filter the results. You can provide multiple values if the operator is ``EQ`` or ``CO``. If you provide multiple values, you filter for results that equal/contain any of the values. For example, if the ``name``, ``operator``, and ``values`` fields are ``Modality``, ``EQ``, and ``[Speech, Text]``, the operation filters for results where the modality was either ``Speech`` or ``Text``.

        

      
        - *(string) --* 

        
    
    

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

    
    ::

      {
          'nodeSummaries': [
              {
                  'intentName': 'string',
                  'intentPath': 'string',
                  'intentCount': 123,
                  'intentLevel': 123,
                  'nodeType': 'Inner'|'Exit'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **nodeSummaries** *(list) --* 

        A list of objects, each of which contains information about a node in the intent path for which you requested metrics.

        
        

        - *(dict) --* 

          An object containing information about the requested path.

          
          

          - **intentName** *(string) --* 

            The name of the intent at the end of the requested path.

            
          

          - **intentPath** *(string) --* 

            The path.

            
          

          - **intentCount** *(integer) --* 

            The total number of sessions that follow the given path to the given intent.

            
          

          - **intentLevel** *(integer) --* 

            The number of intents up to and including the requested path.

            
          

          - **nodeType** *(string) --* 

            Specifies whether the node is the end of a path ( ``Exit``) or not ( ``Inner``).

            
      
    
  
  **Exceptions**
  
  *   :py:class:`LexModelsV2.Client.exceptions.ThrottlingException`

  
  *   :py:class:`LexModelsV2.Client.exceptions.ValidationException`

  
  *   :py:class:`LexModelsV2.Client.exceptions.PreconditionFailedException`

  
  *   :py:class:`LexModelsV2.Client.exceptions.ServiceQuotaExceededException`

  
  *   :py:class:`LexModelsV2.Client.exceptions.InternalServerException`

  