:doc:`QApps <../../qapps>` / Client / get_q_app

*********
get_q_app
*********



.. py:method:: QApps.Client.get_q_app(**kwargs)

  

  Retrieves the full details of an Q App, including its definition specifying the cards and flow.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetQApp>`_  


  **Request Syntax**
  ::

    response = client.get_q_app(
        instanceId='string',
        appId='string',
        appVersion=123
    )
    
  :type instanceId: string
  :param instanceId: **[REQUIRED]** 

    The unique identifier of the Amazon Q Business application environment instance.

    

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

    The unique identifier of the Q App to retrieve.

    

  
  :type appVersion: integer
  :param appVersion: 

    The version of the Q App.

    

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

    
    ::

      {
          'appId': 'string',
          'appArn': 'string',
          'title': 'string',
          'description': 'string',
          'initialPrompt': 'string',
          'appVersion': 123,
          'status': 'PUBLISHED'|'DRAFT'|'DELETED',
          'createdAt': datetime(2015, 1, 1),
          'createdBy': 'string',
          'updatedAt': datetime(2015, 1, 1),
          'updatedBy': 'string',
          'requiredCapabilities': [
              'FileUpload'|'CreatorMode'|'RetrievalMode'|'PluginMode',
          ],
          'appDefinition': {
              'appDefinitionVersion': 'string',
              'cards': [
                  {
                      'textInput': {
                          'id': 'string',
                          'title': 'string',
                          'dependencies': [
                              'string',
                          ],
                          'type': 'text-input'|'q-query'|'file-upload'|'q-plugin'|'form-input',
                          'placeholder': 'string',
                          'defaultValue': 'string'
                      },
                      'qQuery': {
                          'id': 'string',
                          'title': 'string',
                          'dependencies': [
                              'string',
                          ],
                          'type': 'text-input'|'q-query'|'file-upload'|'q-plugin'|'form-input',
                          'prompt': 'string',
                          'outputSource': 'approved-sources'|'llm',
                          'attributeFilter': {
                              'andAllFilters': [
                                  {'... recursive ...'},
                              ],
                              'orAllFilters': [
                                  {'... recursive ...'},
                              ],
                              'notFilter': {'... recursive ...'},
                              'equalsTo': {
                                  'name': 'string',
                                  'value': {
                                      'stringValue': 'string',
                                      'stringListValue': [
                                          'string',
                                      ],
                                      'longValue': 123,
                                      'dateValue': datetime(2015, 1, 1)
                                  }
                              },
                              'containsAll': {
                                  'name': 'string',
                                  'value': {
                                      'stringValue': 'string',
                                      'stringListValue': [
                                          'string',
                                      ],
                                      'longValue': 123,
                                      'dateValue': datetime(2015, 1, 1)
                                  }
                              },
                              'containsAny': {
                                  'name': 'string',
                                  'value': {
                                      'stringValue': 'string',
                                      'stringListValue': [
                                          'string',
                                      ],
                                      'longValue': 123,
                                      'dateValue': datetime(2015, 1, 1)
                                  }
                              },
                              'greaterThan': {
                                  'name': 'string',
                                  'value': {
                                      'stringValue': 'string',
                                      'stringListValue': [
                                          'string',
                                      ],
                                      'longValue': 123,
                                      'dateValue': datetime(2015, 1, 1)
                                  }
                              },
                              'greaterThanOrEquals': {
                                  'name': 'string',
                                  'value': {
                                      'stringValue': 'string',
                                      'stringListValue': [
                                          'string',
                                      ],
                                      'longValue': 123,
                                      'dateValue': datetime(2015, 1, 1)
                                  }
                              },
                              'lessThan': {
                                  'name': 'string',
                                  'value': {
                                      'stringValue': 'string',
                                      'stringListValue': [
                                          'string',
                                      ],
                                      'longValue': 123,
                                      'dateValue': datetime(2015, 1, 1)
                                  }
                              },
                              'lessThanOrEquals': {
                                  'name': 'string',
                                  'value': {
                                      'stringValue': 'string',
                                      'stringListValue': [
                                          'string',
                                      ],
                                      'longValue': 123,
                                      'dateValue': datetime(2015, 1, 1)
                                  }
                              }
                          },
                          'memoryReferences': [
                              'string',
                          ]
                      },
                      'qPlugin': {
                          'id': 'string',
                          'title': 'string',
                          'dependencies': [
                              'string',
                          ],
                          'type': 'text-input'|'q-query'|'file-upload'|'q-plugin'|'form-input',
                          'prompt': 'string',
                          'pluginType': 'SERVICE_NOW'|'SALESFORCE'|'JIRA'|'ZENDESK'|'CUSTOM'|'ASANA'|'ATLASSIAN_CONFLUENCE'|'GOOGLE_CALENDAR'|'JIRA_CLOUD'|'MICROSOFT_EXCHANGE'|'MICROSOFT_TEAMS'|'PAGERDUTY_ADVANCE'|'SALESFORCE_CRM'|'SERVICENOW_NOW_PLATFORM'|'SMARTSHEET'|'ZENDESK_SUITE',
                          'pluginId': 'string',
                          'actionIdentifier': 'string'
                      },
                      'fileUpload': {
                          'id': 'string',
                          'title': 'string',
                          'dependencies': [
                              'string',
                          ],
                          'type': 'text-input'|'q-query'|'file-upload'|'q-plugin'|'form-input',
                          'filename': 'string',
                          'fileId': 'string',
                          'allowOverride': True|False
                      },
                      'formInput': {
                          'id': 'string',
                          'title': 'string',
                          'dependencies': [
                              'string',
                          ],
                          'type': 'text-input'|'q-query'|'file-upload'|'q-plugin'|'form-input',
                          'metadata': {
                              'schema': {...}|[...]|123|123.4|'string'|True|None
                          },
                          'computeMode': 'append'|'replace'
                      }
                  },
              ],
              'canEdit': True|False
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **appId** *(string) --* 

        The unique identifier of the Q App.

        
      

      - **appArn** *(string) --* 

        The Amazon Resource Name (ARN) of the Q App.

        
      

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

        The title of the Q App.

        
      

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

        The description of the Q App.

        
      

      - **initialPrompt** *(string) --* 

        The initial prompt displayed when the Q App is started.

        
      

      - **appVersion** *(integer) --* 

        The version of the Q App.

        
      

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

        The status of the Q App.

        
      

      - **createdAt** *(datetime) --* 

        The date and time the Q App was created.

        
      

      - **createdBy** *(string) --* 

        The user who created the Q App.

        
      

      - **updatedAt** *(datetime) --* 

        The date and time the Q App was last updated.

        
      

      - **updatedBy** *(string) --* 

        The user who last updated the Q App.

        
      

      - **requiredCapabilities** *(list) --* 

        The capabilities required to run the Q App, such as file upload or third-party integrations.

        
        

        - *(string) --* 
    
      

      - **appDefinition** *(dict) --* 

        The full definition of the Q App, specifying the cards and flow.

        
        

        - **appDefinitionVersion** *(string) --* 

          The version of the app definition schema or specification.

          
        

        - **cards** *(list) --* 

          The cards that make up the Q App, such as text input, file upload, or query cards.

          
          

          - *(dict) --* 

            A card representing a component or step in an Amazon Q App's flow.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``textInput``, ``qQuery``, ``qPlugin``, ``fileUpload``, ``formInput``.     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'}


          
            

            - **textInput** *(dict) --* 

              A container for the properties of the text input card.

              
              

              - **id** *(string) --* 

                The unique identifier of the text input card.

                
              

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

                The title or label of the text input card.

                
              

              - **dependencies** *(list) --* 

                Any dependencies or requirements for the text input card.

                
                

                - *(string) --* 
            
              

              - **type** *(string) --* 

                The type of the card.

                
              

              - **placeholder** *(string) --* 

                The placeholder text to display in the text input field.

                
              

              - **defaultValue** *(string) --* 

                The default value to pre-populate in the text input field.

                
          
            

            - **qQuery** *(dict) --* 

              A container for the properties of the query card.

              
              

              - **id** *(string) --* 

                The unique identifier of the query card.

                
              

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

                The title or label of the query card.

                
              

              - **dependencies** *(list) --* 

                Any dependencies or requirements for the query card.

                
                

                - *(string) --* 
            
              

              - **type** *(string) --* 

                The type of the card.

                
              

              - **prompt** *(string) --* 

                The prompt or instructions displayed for the query card.

                
              

              - **outputSource** *(string) --* 

                The source or type of output generated by the query card.

                
              

              - **attributeFilter** *(dict) --* 

                The Amazon Q Business filters applied in this query card when resolving data sources

                
                

                - **andAllFilters** *(list) --* 

                  Performs a logical ``AND`` operation on all supplied filters.

                  
                  

                  - *(dict) --* 

                    The filter criteria used on responses based on document attributes or metadata fields.

                    
              
                

                - **orAllFilters** *(list) --* 

                  Performs a logical ``OR`` operation on all supplied filters.

                  
                  

                  - *(dict) --* 

                    The filter criteria used on responses based on document attributes or metadata fields.

                    
              
                

                - **notFilter** *(dict) --* 

                  Performs a logical ``NOT`` operation on all supplied filters.

                  
                

                - **equalsTo** *(dict) --* 

                  Performs an *equals* operation on two document attributes or metadata fields. Supported for the following `document attribute value types <https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html>`__: ``dateValue``, ``longValue``, ``stringListValue`` and ``stringValue``.

                  
                  

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

                    The identifier for the attribute.

                    
                  

                  - **value** *(dict) --* 

                    The value of the attribute.

                    .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``stringValue``, ``stringListValue``, ``longValue``, ``dateValue``.     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'}


                  
                    

                    - **stringValue** *(string) --* 

                      A string.

                      
                    

                    - **stringListValue** *(list) --* 

                      A list of strings.

                      
                      

                      - *(string) --* 
                  
                    

                    - **longValue** *(integer) --* 

                      A long integer value.

                      
                    

                    - **dateValue** *(datetime) --* 

                      A date expressed as an ISO 8601 string.

                       

                      It's important for the time zone to be included in the *ISO 8601 date-time* format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

                      
                
              
                

                - **containsAll** *(dict) --* 

                  Returns ``true`` when a document contains all the specified document attributes or metadata fields. Supported for the following `document attribute value types <https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html>`__: ``stringListValue``.

                  
                  

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

                    The identifier for the attribute.

                    
                  

                  - **value** *(dict) --* 

                    The value of the attribute.

                    .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``stringValue``, ``stringListValue``, ``longValue``, ``dateValue``.     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'}


                  
                    

                    - **stringValue** *(string) --* 

                      A string.

                      
                    

                    - **stringListValue** *(list) --* 

                      A list of strings.

                      
                      

                      - *(string) --* 
                  
                    

                    - **longValue** *(integer) --* 

                      A long integer value.

                      
                    

                    - **dateValue** *(datetime) --* 

                      A date expressed as an ISO 8601 string.

                       

                      It's important for the time zone to be included in the *ISO 8601 date-time* format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

                      
                
              
                

                - **containsAny** *(dict) --* 

                  Returns ``true`` when a document contains any of the specified document attributes or metadata fields. Supported for the following `document attribute value types <https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html>`__: ``stringListValue``.

                  
                  

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

                    The identifier for the attribute.

                    
                  

                  - **value** *(dict) --* 

                    The value of the attribute.

                    .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``stringValue``, ``stringListValue``, ``longValue``, ``dateValue``.     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'}


                  
                    

                    - **stringValue** *(string) --* 

                      A string.

                      
                    

                    - **stringListValue** *(list) --* 

                      A list of strings.

                      
                      

                      - *(string) --* 
                  
                    

                    - **longValue** *(integer) --* 

                      A long integer value.

                      
                    

                    - **dateValue** *(datetime) --* 

                      A date expressed as an ISO 8601 string.

                       

                      It's important for the time zone to be included in the *ISO 8601 date-time* format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

                      
                
              
                

                - **greaterThan** *(dict) --* 

                  Performs a *greater than* operation on two document attributes or metadata fields. Supported for the following `document attribute value types <https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html>`__: ``dateValue`` and ``longValue``.

                  
                  

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

                    The identifier for the attribute.

                    
                  

                  - **value** *(dict) --* 

                    The value of the attribute.

                    .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``stringValue``, ``stringListValue``, ``longValue``, ``dateValue``.     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'}


                  
                    

                    - **stringValue** *(string) --* 

                      A string.

                      
                    

                    - **stringListValue** *(list) --* 

                      A list of strings.

                      
                      

                      - *(string) --* 
                  
                    

                    - **longValue** *(integer) --* 

                      A long integer value.

                      
                    

                    - **dateValue** *(datetime) --* 

                      A date expressed as an ISO 8601 string.

                       

                      It's important for the time zone to be included in the *ISO 8601 date-time* format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

                      
                
              
                

                - **greaterThanOrEquals** *(dict) --* 

                  Performs a *greater than or equals* operation on two document attributes or metadata fields. Supported for the following `document attribute value types <https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html>`__: ``dateValue`` and ``longValue``.

                  
                  

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

                    The identifier for the attribute.

                    
                  

                  - **value** *(dict) --* 

                    The value of the attribute.

                    .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``stringValue``, ``stringListValue``, ``longValue``, ``dateValue``.     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'}


                  
                    

                    - **stringValue** *(string) --* 

                      A string.

                      
                    

                    - **stringListValue** *(list) --* 

                      A list of strings.

                      
                      

                      - *(string) --* 
                  
                    

                    - **longValue** *(integer) --* 

                      A long integer value.

                      
                    

                    - **dateValue** *(datetime) --* 

                      A date expressed as an ISO 8601 string.

                       

                      It's important for the time zone to be included in the *ISO 8601 date-time* format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

                      
                
              
                

                - **lessThan** *(dict) --* 

                  Performs a *less than* operation on two document attributes or metadata fields. Supported for the following `document attribute value types <https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html>`__: ``dateValue`` and ``longValue``.

                  
                  

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

                    The identifier for the attribute.

                    
                  

                  - **value** *(dict) --* 

                    The value of the attribute.

                    .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``stringValue``, ``stringListValue``, ``longValue``, ``dateValue``.     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'}


                  
                    

                    - **stringValue** *(string) --* 

                      A string.

                      
                    

                    - **stringListValue** *(list) --* 

                      A list of strings.

                      
                      

                      - *(string) --* 
                  
                    

                    - **longValue** *(integer) --* 

                      A long integer value.

                      
                    

                    - **dateValue** *(datetime) --* 

                      A date expressed as an ISO 8601 string.

                       

                      It's important for the time zone to be included in the *ISO 8601 date-time* format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

                      
                
              
                

                - **lessThanOrEquals** *(dict) --* 

                  Performs a *less than or equals* operation on two document attributes or metadata fields.Supported for the following `document attribute value type <https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html>`__: ``dateValue`` and ``longValue``.

                  
                  

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

                    The identifier for the attribute.

                    
                  

                  - **value** *(dict) --* 

                    The value of the attribute.

                    .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``stringValue``, ``stringListValue``, ``longValue``, ``dateValue``.     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'}


                  
                    

                    - **stringValue** *(string) --* 

                      A string.

                      
                    

                    - **stringListValue** *(list) --* 

                      A list of strings.

                      
                      

                      - *(string) --* 
                  
                    

                    - **longValue** *(integer) --* 

                      A long integer value.

                      
                    

                    - **dateValue** *(datetime) --* 

                      A date expressed as an ISO 8601 string.

                       

                      It's important for the time zone to be included in the *ISO 8601 date-time* format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

                      
                
              
            
              

              - **memoryReferences** *(list) --* 

                Any dependencies for the query card, where the dependencies are references to the collected responses.

                
                

                - *(string) --* 
            
          
            

            - **qPlugin** *(dict) --* 

              A container for the properties of the plugin card.

              
              

              - **id** *(string) --* 

                The unique identifier of the plugin card.

                
              

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

                The title or label of the plugin card.

                
              

              - **dependencies** *(list) --* 

                Any dependencies or requirements for the plugin card.

                
                

                - *(string) --* 
            
              

              - **type** *(string) --* 

                The type of the card.

                
              

              - **prompt** *(string) --* 

                The prompt or instructions displayed for the plugin card.

                
              

              - **pluginType** *(string) --* 

                The type or category of the plugin used by the card.

                
              

              - **pluginId** *(string) --* 

                The unique identifier of the plugin used by the card.

                
              

              - **actionIdentifier** *(string) --* 

                The action identifier of the action to be performed by the plugin card.

                
          
            

            - **fileUpload** *(dict) --* 

              A container for the properties of the file upload card.

              
              

              - **id** *(string) --* 

                The unique identifier of the file upload card.

                
              

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

                The title of the file upload card.

                
              

              - **dependencies** *(list) --* 

                Any dependencies or requirements for the file upload card.

                
                

                - *(string) --* 
            
              

              - **type** *(string) --* 

                The type of the card.

                
              

              - **filename** *(string) --* 

                The name of the file being uploaded.

                
              

              - **fileId** *(string) --* 

                The unique identifier of the file associated with the card.

                
              

              - **allowOverride** *(boolean) --* 

                A flag indicating if the user can override the default file for the upload card.

                
          
            

            - **formInput** *(dict) --* 

              A container for the properties of the form input card.

              
              

              - **id** *(string) --* 

                The unique identifier of the form input card.

                
              

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

                The title of the form input card.

                
              

              - **dependencies** *(list) --* 

                Any dependencies or requirements for the form input card.

                
                

                - *(string) --* 
            
              

              - **type** *(string) --* 

                The type of the card.

                
              

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

                The metadata that defines the form input card data.

                
                

                - **schema** (:ref:`document<document>`) -- 

                  The JSON schema that defines the shape of the response data.

                  
            
              

              - **computeMode** *(string) --* 

                The compute mode of the form input card. This property determines whether individual participants of a data collection session can submit multiple response or one response. A compute mode of ``append`` shall allow participants to submit the same form multiple times with different values. A compute mode of ``replace``code> shall overwrite the current value for each participant.

                
          
        
      
        

        - **canEdit** *(boolean) --* 

          A flag indicating whether the Q App's definition can be edited by the user.

          
    
  
  **Exceptions**
  
  *   :py:class:`QApps.Client.exceptions.ResourceNotFoundException`

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

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

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

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

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

  