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

***********************
search_evaluation_forms
***********************



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

  

  Searches evaluation forms in an Amazon Connect instance, with optional filtering.

   

  **Use cases**

   

  Following are common uses cases for this API:

   

  
  * List all evaluation forms in an instance.
   
  * Find all evaluation forms that meet specific criteria, such as Title, Description, Status, and more.
   
  * Find all evaluation forms that are tagged with a specific set of tags.
  

   

  **Important things to know**

   

  
  * A Search operation, unlike a List operation, takes time to index changes to resource (create, update or delete). If you don't see updated information for recently changed contact evaluations, try calling the API again in a few seconds.
  

   

  **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/SearchEvaluationForms>`_  


  **Request Syntax**
  ::

    response = client.search_evaluation_forms(
        InstanceId='string',
        NextToken='string',
        MaxResults=123,
        SearchCriteria={
            'OrConditions': [
                {'... recursive ...'},
            ],
            'AndConditions': [
                {'... recursive ...'},
            ],
            'StringCondition': {
                'FieldName': 'string',
                'Value': 'string',
                'ComparisonType': 'STARTS_WITH'|'CONTAINS'|'EXACT'
            },
            'NumberCondition': {
                'FieldName': 'string',
                'MinValue': 123,
                'MaxValue': 123,
                'ComparisonType': 'GREATER_OR_EQUAL'|'GREATER'|'LESSER_OR_EQUAL'|'LESSER'|'EQUAL'|'NOT_EQUAL'|'RANGE'
            },
            'BooleanCondition': {
                'FieldName': 'string',
                'ComparisonType': 'IS_TRUE'|'IS_FALSE'
            },
            'DateTimeCondition': {
                'FieldName': 'string',
                'MinValue': 'string',
                'MaxValue': 'string',
                'ComparisonType': 'GREATER_THAN'|'LESS_THAN'|'GREATER_THAN_OR_EQUAL_TO'|'LESS_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'RANGE'
            }
        },
        SearchFilter={
            'AttributeFilter': {
                'OrConditions': [
                    {
                        'TagConditions': [
                            {
                                'TagKey': 'string',
                                'TagValue': 'string'
                            },
                        ]
                    },
                ],
                'AndCondition': {
                    'TagConditions': [
                        {
                            'TagKey': 'string',
                            'TagValue': 'string'
                        },
                    ]
                },
                'TagCondition': {
                    'TagKey': 'string',
                    'TagValue': '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 NextToken: string
  :param NextToken: 

    The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

    

  
  :type MaxResults: integer
  :param MaxResults: 

    The maximum number of results to return per page.

    

  
  :type SearchCriteria: dict
  :param SearchCriteria: 

    The search criteria to be used to return evaluation forms.

    

  
    - **OrConditions** *(list) --* 

      A list of conditions which would be applied together with an OR condition.

      

    
      - *(dict) --* 

        The search criteria to be used to return evaluation forms.

        

      
  
    - **AndConditions** *(list) --* 

      A list of conditions which would be applied together with an AND condition.

      

    
      - *(dict) --* 

        The search criteria to be used to return evaluation forms.

        

      
  
    - **StringCondition** *(dict) --* 

      A leaf node condition which can be used to specify a string condition.

      

    
      - **FieldName** *(string) --* 

        The name of the field in the string condition.

        

      
      - **Value** *(string) --* 

        The value of the string.

        

      
      - **ComparisonType** *(string) --* 

        The type of comparison to be made when evaluating the string condition.

        

      
    
    - **NumberCondition** *(dict) --* 

      A leaf node condition which can be used to specify a numeric condition.

       

      .. note::

        

        The currently supported value for ``FieldName`` is ``limit``.

        

      

    
      - **FieldName** *(string) --* 

        The name of the field in the number condition.

        

      
      - **MinValue** *(integer) --* 

        The minValue to be used while evaluating the number condition.

        

      
      - **MaxValue** *(integer) --* 

        The maxValue to be used while evaluating the number condition.

        

      
      - **ComparisonType** *(string) --* 

        The type of comparison to be made when evaluating the number condition.

        

      
    
    - **BooleanCondition** *(dict) --* 

      Boolean search condition.

      

    
      - **FieldName** *(string) --* 

        A name of the property to be searched.

        

      
      - **ComparisonType** *(string) --* 

        Boolean property comparison type.

        

      
    
    - **DateTimeCondition** *(dict) --* 

      Datetime search condition.

      

    
      - **FieldName** *(string) --* 

        A name of the datetime property to be searched

        

      
      - **MinValue** *(string) --* 

        A minimum value of the property.

        

      
      - **MaxValue** *(string) --* 

        A maximum value of the property.

        

      
      - **ComparisonType** *(string) --* 

        Datetime property comparison type.

        

      
    
  
  :type SearchFilter: dict
  :param SearchFilter: 

    Filters to be applied to search results.

    

  
    - **AttributeFilter** *(dict) --* 

      An object that can be used to specify Tag conditions inside the ``SearchFilter``. This accepts an ``OR`` or ``AND`` (List of List) input where:

       

      
      * The top level list specifies conditions that need to be applied with ``OR`` operator.
       
      * The inner list specifies conditions that need to be applied with ``AND`` operator.
      

      

    
      - **OrConditions** *(list) --* 

        A list of conditions which would be applied together with an ``OR`` condition.

        

      
        - *(dict) --* 

          A list of conditions which would be applied together with an ``AND`` condition.

          

        
          - **TagConditions** *(list) --* 

            A leaf node condition which can be used to specify a tag condition.

            

          
            - *(dict) --* 

              A leaf node condition which can be used to specify a tag condition, for example, ``HAVE BPO = 123``.

              

            
              - **TagKey** *(string) --* 

                The tag key in the tag condition.

                

              
              - **TagValue** *(string) --* 

                The tag value in the tag condition.

                

              
            
        
        
    
      - **AndCondition** *(dict) --* 

        A list of conditions which would be applied together with an ``AND`` condition.

        

      
        - **TagConditions** *(list) --* 

          A leaf node condition which can be used to specify a tag condition.

          

        
          - *(dict) --* 

            A leaf node condition which can be used to specify a tag condition, for example, ``HAVE BPO = 123``.

            

          
            - **TagKey** *(string) --* 

              The tag key in the tag condition.

              

            
            - **TagValue** *(string) --* 

              The tag value in the tag condition.

              

            
          
      
      
      - **TagCondition** *(dict) --* 

        A leaf node condition which can be used to specify a tag condition, for example, ``HAVE BPO = 123``.

        

      
        - **TagKey** *(string) --* 

          The tag key in the tag condition.

          

        
        - **TagValue** *(string) --* 

          The tag value in the tag condition.

          

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

    
    ::

      {
          'EvaluationFormSearchSummaryList': [
              {
                  'EvaluationFormId': 'string',
                  'EvaluationFormArn': 'string',
                  'Title': 'string',
                  'Status': 'DRAFT'|'ACTIVE',
                  'Description': 'string',
                  'CreatedTime': datetime(2015, 1, 1),
                  'CreatedBy': 'string',
                  'LastModifiedTime': datetime(2015, 1, 1),
                  'LastModifiedBy': 'string',
                  'LastActivatedTime': datetime(2015, 1, 1),
                  'LastActivatedBy': 'string',
                  'LatestVersion': 123,
                  'ActiveVersion': 123,
                  'AutoEvaluationEnabled': True|False,
                  'EvaluationFormLanguage': 'de-DE'|'en-US'|'es-ES'|'fr-FR'|'it-IT'|'pt-BR',
                  'ContactInteractionType': 'AGENT'|'AUTOMATED',
                  'Tags': {
                      'string': 'string'
                  }
              },
          ],
          'NextToken': 'string',
          'ApproximateTotalCount': 123
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **EvaluationFormSearchSummaryList** *(list) --* 

        Information about the returned evaluation forms.

        
        

        - *(dict) --* 

          Information about the returned evaluation forms.

          
          

          - **EvaluationFormId** *(string) --* 

            The unique identifier for the evaluation form.

            
          

          - **EvaluationFormArn** *(string) --* 

            The Amazon Resource Name (ARN) for the evaluation form resource.

            
          

          - **Title** *(string) --* 

            The title of the evaluation form.

            
          

          - **Status** *(string) --* 

            The status of the evaluation form.

            
          

          - **Description** *(string) --* 

            The description of the evaluation form.

            
          

          - **CreatedTime** *(datetime) --* 

            When the evaluation form was created.

            
          

          - **CreatedBy** *(string) --* 

            Who created the evaluation form.

            
          

          - **LastModifiedTime** *(datetime) --* 

            When the evaluation form was last changed.

            
          

          - **LastModifiedBy** *(string) --* 

            Who changed the evaluation form.

            
          

          - **LastActivatedTime** *(datetime) --* 

            When the evaluation format was last activated.

            
          

          - **LastActivatedBy** *(string) --* 

            The ID of user who last activated evaluation form.

            
          

          - **LatestVersion** *(integer) --* 

            Latest version of the evaluation form.

            
          

          - **ActiveVersion** *(integer) --* 

            Active version of the evaluation form.

            
          

          - **AutoEvaluationEnabled** *(boolean) --* 

            Whether automated evaluation is enabled.

            
          

          - **EvaluationFormLanguage** *(string) --* 

            The language of the evaluation form.

            
          

          - **ContactInteractionType** *(string) --* 

            The contact interaction type for this evaluation form.

            
          

          - **Tags** *(dict) --* 

            The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

            
            

            - *(string) --* 
              

              - *(string) --* 
        
      
      
    
      

      - **NextToken** *(string) --* 

        If there are additional results, this is the token for the next set of results.

        
      

      - **ApproximateTotalCount** *(integer) --* 

        The total number of evaluation forms that matched your search query.

        
  
  **Exceptions**
  
  *   :py:class:`Connect.Client.exceptions.InvalidRequestException`

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

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

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

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

  