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

***********************
search_routing_profiles
***********************



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

  

  Searches routing profiles in an Amazon Connect instance, with optional filtering.

   

  .. note::

    

    ``SearchRoutingProfiles`` does not populate LastModifiedRegion, LastModifiedTime, MediaConcurrencies.CrossChannelBehavior, and AgentAvailabilityTimer in its response, but `DescribeRoutingProfile <https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeRoutingProfile.html>`__ does.

    

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SearchRoutingProfiles>`_  


  **Request Syntax**
  ::

    response = client.search_routing_profiles(
        InstanceId='string',
        NextToken='string',
        MaxResults=123,
        SearchFilter={
            'TagFilter': {
                'OrConditions': [
                    [
                        {
                            'TagKey': 'string',
                            'TagValue': 'string'
                        },
                    ],
                ],
                'AndConditions': [
                    {
                        'TagKey': 'string',
                        'TagValue': 'string'
                    },
                ],
                'TagCondition': {
                    'TagKey': 'string',
                    'TagValue': 'string'
                }
            }
        },
        SearchCriteria={
            'OrConditions': [
                {'... recursive ...'},
            ],
            'AndConditions': [
                {'... recursive ...'},
            ],
            'StringCondition': {
                'FieldName': 'string',
                'Value': 'string',
                'ComparisonType': 'STARTS_WITH'|'CONTAINS'|'EXACT'
            }
        }
    )
    
  :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 SearchFilter: dict
  :param SearchFilter: 

    Filters to be applied to search results.

    

  
    - **TagFilter** *(dict) --* 

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

       

      
      * Top level list specifies conditions that need to be applied with ``OR`` operator
       
      * 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.

        

      
        - *(list) --* 

        
          - *(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.

              

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

        A list of conditions which would be applied together with an ``AND`` 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.

        

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

          The tag key in the tag condition.

          

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

          The tag value in the tag condition.

          

        
      
    
  
  :type SearchCriteria: dict
  :param SearchCriteria: 

    The search criteria to be used to return routing profiles.

     

    .. note::

      

      The ``name`` and ``description`` fields support "contains" queries with a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths outside of this range will throw invalid results.

      

    

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

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

      

    
      - *(dict) --* 

        The search criteria to be used to return routing profiles.

         

        .. note::

          

          The ``name`` and ``description`` fields support "contains" queries with a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths outside of this range will throw invalid results.

          

        

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

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

      

    
      - *(dict) --* 

        The search criteria to be used to return routing profiles.

         

        .. note::

          

          The ``name`` and ``description`` fields support "contains" queries with a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths outside of this range will throw invalid results.

          

        

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

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

       

      .. note::

        

        The currently supported values for ``FieldName`` are ``associatedQueueIds``, ``name``, ``description``, and ``resourceID``.

        

      

    
      - **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.

        

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

    
    ::

      {
          'RoutingProfiles': [
              {
                  'InstanceId': 'string',
                  'Name': 'string',
                  'RoutingProfileArn': 'string',
                  'RoutingProfileId': 'string',
                  'Description': 'string',
                  'MediaConcurrencies': [
                      {
                          'Channel': 'VOICE'|'CHAT'|'TASK'|'EMAIL',
                          'Concurrency': 123,
                          'CrossChannelBehavior': {
                              'BehaviorType': 'ROUTE_CURRENT_CHANNEL_ONLY'|'ROUTE_ANY_CHANNEL'
                          }
                      },
                  ],
                  'DefaultOutboundQueueId': 'string',
                  'Tags': {
                      'string': 'string'
                  },
                  'NumberOfAssociatedQueues': 123,
                  'NumberOfAssociatedManualAssignmentQueues': 123,
                  'NumberOfAssociatedUsers': 123,
                  'AgentAvailabilityTimer': 'TIME_SINCE_LAST_ACTIVITY'|'TIME_SINCE_LAST_INBOUND',
                  'LastModifiedTime': datetime(2015, 1, 1),
                  'LastModifiedRegion': 'string',
                  'IsDefault': True|False,
                  'AssociatedQueueIds': [
                      'string',
                  ],
                  'AssociatedManualAssignmentQueueIds': [
                      'string',
                  ]
              },
          ],
          'NextToken': 'string',
          'ApproximateTotalCount': 123
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **RoutingProfiles** *(list) --* 

        Information about the routing profiles.

        
        

        - *(dict) --* 

          Contains information about a routing profile.

          
          

          - **InstanceId** *(string) --* 

            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.

            
          

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

            The name of the routing profile.

            
          

          - **RoutingProfileArn** *(string) --* 

            The Amazon Resource Name (ARN) of the routing profile.

            
          

          - **RoutingProfileId** *(string) --* 

            The identifier of the routing profile.

            
          

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

            The description of the routing profile.

            
          

          - **MediaConcurrencies** *(list) --* 

            The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.

            
            

            - *(dict) --* 

              Contains information about which channels are supported, and how many contacts an agent can have on a channel simultaneously.

              
              

              - **Channel** *(string) --* 

                The channels that agents can handle in the Contact Control Panel (CCP).

                
              

              - **Concurrency** *(integer) --* 

                The number of contacts an agent can have on a channel simultaneously.

                 

                Valid Range for ``VOICE``: Minimum value of 1. Maximum value of 1.

                 

                Valid Range for ``CHAT``: Minimum value of 1. Maximum value of 10.

                 

                Valid Range for ``TASK``: Minimum value of 1. Maximum value of 10.

                
              

              - **CrossChannelBehavior** *(dict) --* 

                Defines the cross-channel routing behavior for each channel that is enabled for this Routing Profile. For example, this allows you to offer an agent a different contact from another channel when they are currently working with a contact from a Voice channel.

                
                

                - **BehaviorType** *(string) --* 

                  Specifies the other channels that can be routed to an agent handling their current channel.

                  
            
          
        
          

          - **DefaultOutboundQueueId** *(string) --* 

            The identifier of the default outbound queue for this routing profile.

            
          

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

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

            
            

            - *(string) --* 
              

              - *(string) --* 
        
      
          

          - **NumberOfAssociatedQueues** *(integer) --* 

            The number of associated queues in routing profile.

            
          

          - **NumberOfAssociatedManualAssignmentQueues** *(integer) --* 

            The number of associated manual assignment queues in routing profile.

            
          

          - **NumberOfAssociatedUsers** *(integer) --* 

            The number of associated users in routing profile.

            
          

          - **AgentAvailabilityTimer** *(string) --* 

            Whether agents with this routing profile will have their routing order calculated based on *time since their last inbound contact* or *longest idle time*.

            
          

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

            The timestamp when this resource was last modified.

            
          

          - **LastModifiedRegion** *(string) --* 

            The Amazon Web Services Region where this resource was last modified.

            
          

          - **IsDefault** *(boolean) --* 

            Whether this a default routing profile.

            
          

          - **AssociatedQueueIds** *(list) --* 

            The IDs of the associated queue.

            
            

            - *(string) --* 
        
          

          - **AssociatedManualAssignmentQueueIds** *(list) --* 

            The IDs of the associated manual assignment queues.

            
            

            - *(string) --* 
        
      
    
      

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

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

        
      

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

        The total number of routing profiles which 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`

  