:doc:`QConnect <../../qconnect>` / Client / update_content

**************
update_content
**************



.. py:method:: QConnect.Client.update_content(**kwargs)

  

  Updates information about the content.

  

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


  **Request Syntax**
  ::

    response = client.update_content(
        knowledgeBaseId='string',
        contentId='string',
        revisionId='string',
        title='string',
        overrideLinkOutUri='string',
        removeOverrideLinkOutUri=True|False,
        metadata={
            'string': 'string'
        },
        uploadId='string'
    )
    
  :type knowledgeBaseId: string
  :param knowledgeBaseId: **[REQUIRED]** 

    The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN

    

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

    The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

    

  
  :type revisionId: string
  :param revisionId: 

    The ``revisionId`` of the content resource to update, taken from an earlier call to ``GetContent``, ``GetContentSummary``, ``SearchContent``, or ``ListContents``. If included, this argument acts as an optimistic lock to ensure content was not modified since it was last read. If it has been modified, this API throws a ``PreconditionFailedException``.

    

  
  :type title: string
  :param title: 

    The title of the content.

    

  
  :type overrideLinkOutUri: string
  :param overrideLinkOutUri: 

    The URI for the article. If the knowledge base has a templateUri, setting this argument overrides it for this piece of content. To remove an existing ``overrideLinkOurUri``, exclude this argument and set ``removeOverrideLinkOutUri`` to true.

    

  
  :type removeOverrideLinkOutUri: boolean
  :param removeOverrideLinkOutUri: 

    Unset the existing ``overrideLinkOutUri`` if it exists.

    

  
  :type metadata: dict
  :param metadata: 

    A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Amazon Q in Connect, you can store an external version identifier as metadata to utilize for determining drift.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type uploadId: string
  :param uploadId: 

    A pointer to the uploaded asset. This value is returned by `StartContentUpload <https://docs.aws.amazon.com/amazon-q-connect/latest/APIReference/API_StartContentUpload.html>`__.

    

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

    
    ::

      {
          'content': {
              'contentArn': 'string',
              'contentId': 'string',
              'knowledgeBaseArn': 'string',
              'knowledgeBaseId': 'string',
              'name': 'string',
              'revisionId': 'string',
              'title': 'string',
              'contentType': 'string',
              'status': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'ACTIVE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETED'|'UPDATE_FAILED',
              'metadata': {
                  'string': 'string'
              },
              'tags': {
                  'string': 'string'
              },
              'linkOutUri': 'string',
              'url': 'string',
              'urlExpiry': datetime(2015, 1, 1)
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **content** *(dict) --* 

        The content.

        
        

        - **contentArn** *(string) --* 

          The Amazon Resource Name (ARN) of the content.

          
        

        - **contentId** *(string) --* 

          The identifier of the content.

          
        

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

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

          
        

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

          The identifier of the knowledge base.

          
        

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

          The name of the content.

          
        

        - **revisionId** *(string) --* 

          The identifier of the content revision.

          
        

        - **title** *(string) --* 

          The title of the content.

          
        

        - **contentType** *(string) --* 

          The media type of the content.

          
        

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

          The status of the content.

          
        

        - **metadata** *(dict) --* 

          A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Amazon Q in Connect, you can store an external version identifier as metadata to utilize for determining drift.

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
        

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

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

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
        

        - **linkOutUri** *(string) --* 

          The URI of the content.

          
        

        - **url** *(string) --* 

          The URL of the content.

          
        

        - **urlExpiry** *(datetime) --* 

          The expiration time of the URL as an epoch timestamp.

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

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

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

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

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

  