:doc:`ConnectWisdomService <../../wisdom>` / Client / list_knowledge_bases

********************
list_knowledge_bases
********************



.. py:method:: ConnectWisdomService.Client.list_knowledge_bases(**kwargs)

  

  Lists the knowledge bases.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListKnowledgeBases>`_  


  **Request Syntax**
  ::

    response = client.list_knowledge_bases(
        maxResults=123,
        nextToken='string'
    )
    
  :type maxResults: integer
  :param maxResults: 

    The maximum number of results to return per page.

    

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

    

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

    
    ::

      {
          'knowledgeBaseSummaries': [
              {
                  'description': 'string',
                  'knowledgeBaseArn': 'string',
                  'knowledgeBaseId': 'string',
                  'knowledgeBaseType': 'EXTERNAL'|'CUSTOM'|'QUICK_RESPONSES',
                  'name': 'string',
                  'renderingConfiguration': {
                      'templateUri': 'string'
                  },
                  'serverSideEncryptionConfiguration': {
                      'kmsKeyId': 'string'
                  },
                  'sourceConfiguration': {
                      'appIntegrations': {
                          'appIntegrationArn': 'string',
                          'objectFields': [
                              'string',
                          ]
                      }
                  },
                  'status': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'ACTIVE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETED',
                  'tags': {
                      'string': 'string'
                  }
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **knowledgeBaseSummaries** *(list) --* 

        Information about the knowledge bases.

        
        

        - *(dict) --* 

          Summary information about the knowledge base.

          
          

          - **description** *(string) --* 

            The description of the knowledge base.

            
          

          - **knowledgeBaseArn** *(string) --* 

            The Amazon Resource Name (ARN) of the knowledge base.

            
          

          - **knowledgeBaseId** *(string) --* 

            The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

            
          

          - **knowledgeBaseType** *(string) --* 

            The type of knowledge base.

            
          

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

            The name of the knowledge base.

            
          

          - **renderingConfiguration** *(dict) --* 

            Information about how to render the content.

            
            

            - **templateUri** *(string) --* 

              A URI template containing exactly one variable in ``${variableName} ``format. This can only be set for ``EXTERNAL`` knowledge bases. For Salesforce, ServiceNow, and Zendesk, the variable must be one of the following:

               

              
              * Salesforce: ``Id``, ``ArticleNumber``, ``VersionNumber``, ``Title``, ``PublishStatus``, or ``IsDeleted``
               
              * ServiceNow: ``number``, ``short_description``, ``sys_mod_count``, ``workflow_state``, or ``active``
               
              * Zendesk: ``id``, ``title``, ``updated_at``, or ``draft``
              

               

              The variable is replaced with the actual value for a piece of content when calling `GetContent <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetContent.html>`__.

              
        
          

          - **serverSideEncryptionConfiguration** *(dict) --* 

            The configuration information for the customer managed key used for encryption.

             

            This KMS key must have a policy that allows ``kms:CreateGrant``, ``kms:DescribeKey``, ``kms:Decrypt/kms:GenerateDataKey`` permissions to the IAM identity using the key to invoke Wisdom.

             

            For more information about setting up a customer managed key for Wisdom, see `Enable Amazon Connect Wisdom for your instance <https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html>`__.

            
            

            - **kmsKeyId** *(string) --* 

              The customer managed key used for encryption. For more information about setting up a customer managed key for Wisdom, see `Enable Amazon Connect Wisdom for your instance <https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html>`__. For information about valid ID values, see `Key identifiers (KeyId) <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id>`__.

              
        
          

          - **sourceConfiguration** *(dict) --* 

            Configuration information about the external data source.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``appIntegrations``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **appIntegrations** *(dict) --* 

              Configuration information for Amazon AppIntegrations to automatically ingest content.

              
              

              - **appIntegrationArn** *(string) --* 

                The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

                 

                
                * For `Salesforce <https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/sforce_api_objects_knowledge__kav.htm>`__, your AppIntegrations DataIntegration must have an ObjectConfiguration if objectFields is not provided, including at least ``Id``, ``ArticleNumber``, ``VersionNumber``, ``Title``, ``PublishStatus``, and ``IsDeleted`` as source fields.
                 
                * For `ServiceNow <https://developer.servicenow.com/dev.do#!/reference/api/rome/rest/knowledge-management-api>`__, your AppIntegrations DataIntegration must have an ObjectConfiguration if objectFields is not provided, including at least ``number``, ``short_description``, ``sys_mod_count``, ``workflow_state``, and ``active`` as source fields.
                 
                * For `Zendesk <https://developer.zendesk.com/api-reference/help_center/help-center-api/articles/>`__, your AppIntegrations DataIntegration must have an ObjectConfiguration if ``objectFields`` is not provided, including at least ``id``, ``title``, ``updated_at``, and ``draft`` as source fields.
                 
                * For `SharePoint <https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/sharepoint-net-server-csom-jsom-and-rest-api-index>`__, your AppIntegrations DataIntegration must have a FileConfiguration, including only file extensions that are among ``docx``, ``pdf``, ``html``, ``htm``, and ``txt``.
                 
                * For `Amazon S3 <https://aws.amazon.com/s3/>`__, the ObjectConfiguration and FileConfiguration of your AppIntegrations DataIntegration must be null. The ``SourceURI`` of your DataIntegration must use the following format: ``s3://your_s3_bucket_name``. 

                .. warning::

                  The bucket policy of the corresponding S3 bucket must allow the Amazon Web Services principal ``app-integrations.amazonaws.com`` to perform ``s3:ListBucket``, ``s3:GetObject``, and ``s3:GetBucketLocation`` against the bucket.

                
                

                
              

              - **objectFields** *(list) --* 

                The fields from the source that are made available to your agents in Wisdom. Optional if ObjectConfiguration is included in the provided DataIntegration.

                 

                
                * For `Salesforce <https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/sforce_api_objects_knowledge__kav.htm>`__, you must include at least ``Id``, ``ArticleNumber``, ``VersionNumber``, ``Title``, ``PublishStatus``, and ``IsDeleted``.
                 
                * For `ServiceNow <https://developer.servicenow.com/dev.do#!/reference/api/rome/rest/knowledge-management-api>`__, you must include at least ``number``, ``short_description``, ``sys_mod_count``, ``workflow_state``, and ``active``.
                 
                * For `Zendesk <https://developer.zendesk.com/api-reference/help_center/help-center-api/articles/>`__, you must include at least ``id``, ``title``, ``updated_at``, and ``draft``.
                

                 

                Make sure to include additional fields. These fields are indexed and used to source recommendations.

                
                

                - *(string) --* 
            
          
        
          

          - **status** *(string) --* 

            The status of the knowledge base summary.

            
          

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

            The tags used to organize, track, or control access for this resource.

            
            

            - *(string) --* 
              

              - *(string) --* 
        
      
      
    
      

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

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

        
  
  **Exceptions**
  
  *   :py:class:`ConnectWisdomService.Client.exceptions.ValidationException`

  
  *   :py:class:`ConnectWisdomService.Client.exceptions.AccessDeniedException`

  