:doc:`AmplifyBackend <../../amplifybackend>` / Client / get_backend_api

***************
get_backend_api
***************



.. py:method:: AmplifyBackend.Client.get_backend_api(**kwargs)

  

  Gets the details for a backend API.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendAPI>`_  


  **Request Syntax**
  ::

    response = client.get_backend_api(
        AppId='string',
        BackendEnvironmentName='string',
        ResourceConfig={
            'AdditionalAuthTypes': [
                {
                    'Mode': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT',
                    'Settings': {
                        'CognitoUserPoolId': 'string',
                        'Description': 'string',
                        'ExpirationTime': 123.0,
                        'OpenIDAuthTTL': 'string',
                        'OpenIDClientId': 'string',
                        'OpenIDIatTTL': 'string',
                        'OpenIDIssueURL': 'string',
                        'OpenIDProviderName': 'string'
                    }
                },
            ],
            'ApiName': 'string',
            'ConflictResolution': {
                'ResolutionStrategy': 'OPTIMISTIC_CONCURRENCY'|'LAMBDA'|'AUTOMERGE'|'NONE'
            },
            'DefaultAuthType': {
                'Mode': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT',
                'Settings': {
                    'CognitoUserPoolId': 'string',
                    'Description': 'string',
                    'ExpirationTime': 123.0,
                    'OpenIDAuthTTL': 'string',
                    'OpenIDClientId': 'string',
                    'OpenIDIatTTL': 'string',
                    'OpenIDIssueURL': 'string',
                    'OpenIDProviderName': 'string'
                }
            },
            'Service': 'string',
            'TransformSchema': 'string'
        },
        ResourceName='string'
    )
    
  :type AppId: string
  :param AppId: **[REQUIRED]** 

    The app ID.

    

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

    The name of the backend environment.

    

  
  :type ResourceConfig: dict
  :param ResourceConfig: 

    Defines the resource configuration for the data model in your Amplify project.

    

  
    - **AdditionalAuthTypes** *(list) --* 

      Additional authentication methods used to interact with your data models.

      

    
      - *(dict) --* 

        Describes the auth types for your configured data models.

        

      
        - **Mode** *(string) --* 

          Describes the authentication mode.

          

        
        - **Settings** *(dict) --* 

          Describes settings for the authentication mode.

          

        
          - **CognitoUserPoolId** *(string) --* 

            The Amazon Cognito user pool ID, if Amazon Cognito was used as an authentication setting to access your data models.

            

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

            The API key description for API_KEY, if it was used as an authentication mechanism to access your data models.

            

          
          - **ExpirationTime** *(float) --* 

            The API key expiration time for API_KEY, if it was used as an authentication mechanism to access your data models.

            

          
          - **OpenIDAuthTTL** *(string) --* 

            The expiry time for the OpenID authentication mechanism.

            

          
          - **OpenIDClientId** *(string) --* 

            The clientID for openID, if openID was used as an authentication setting to access your data models.

            

          
          - **OpenIDIatTTL** *(string) --* 

            The expiry time for the OpenID authentication mechanism.

            

          
          - **OpenIDIssueURL** *(string) --* 

            The openID issuer URL, if openID was used as an authentication setting to access your data models.

            

          
          - **OpenIDProviderName** *(string) --* 

            The OpenID provider name, if OpenID was used as an authentication mechanism to access your data models.

            

          
        
      
  
    - **ApiName** *(string) --* 

      The API name used to interact with the data model, configured as a part of your Amplify project.

      

    
    - **ConflictResolution** *(dict) --* 

      The conflict resolution strategy for your data stored in the data models.

      

    
      - **ResolutionStrategy** *(string) --* 

        The strategy for conflict resolution.

        

      
    
    - **DefaultAuthType** *(dict) --* 

      The default authentication type for interacting with the configured data models in your Amplify project.

      

    
      - **Mode** *(string) --* 

        Describes the authentication mode.

        

      
      - **Settings** *(dict) --* 

        Describes settings for the authentication mode.

        

      
        - **CognitoUserPoolId** *(string) --* 

          The Amazon Cognito user pool ID, if Amazon Cognito was used as an authentication setting to access your data models.

          

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

          The API key description for API_KEY, if it was used as an authentication mechanism to access your data models.

          

        
        - **ExpirationTime** *(float) --* 

          The API key expiration time for API_KEY, if it was used as an authentication mechanism to access your data models.

          

        
        - **OpenIDAuthTTL** *(string) --* 

          The expiry time for the OpenID authentication mechanism.

          

        
        - **OpenIDClientId** *(string) --* 

          The clientID for openID, if openID was used as an authentication setting to access your data models.

          

        
        - **OpenIDIatTTL** *(string) --* 

          The expiry time for the OpenID authentication mechanism.

          

        
        - **OpenIDIssueURL** *(string) --* 

          The openID issuer URL, if openID was used as an authentication setting to access your data models.

          

        
        - **OpenIDProviderName** *(string) --* 

          The OpenID provider name, if OpenID was used as an authentication mechanism to access your data models.

          

        
      
    
    - **Service** *(string) --* 

      The service used to provision and interact with the data model.

      

    
    - **TransformSchema** *(string) --* 

      The definition of the data model in the annotated transform of the GraphQL schema.

      

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

    The name of this resource.

    

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

    
    ::

      {
          'AppId': 'string',
          'BackendEnvironmentName': 'string',
          'Error': 'string',
          'ResourceConfig': {
              'AdditionalAuthTypes': [
                  {
                      'Mode': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT',
                      'Settings': {
                          'CognitoUserPoolId': 'string',
                          'Description': 'string',
                          'ExpirationTime': 123.0,
                          'OpenIDAuthTTL': 'string',
                          'OpenIDClientId': 'string',
                          'OpenIDIatTTL': 'string',
                          'OpenIDIssueURL': 'string',
                          'OpenIDProviderName': 'string'
                      }
                  },
              ],
              'ApiName': 'string',
              'ConflictResolution': {
                  'ResolutionStrategy': 'OPTIMISTIC_CONCURRENCY'|'LAMBDA'|'AUTOMERGE'|'NONE'
              },
              'DefaultAuthType': {
                  'Mode': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT',
                  'Settings': {
                      'CognitoUserPoolId': 'string',
                      'Description': 'string',
                      'ExpirationTime': 123.0,
                      'OpenIDAuthTTL': 'string',
                      'OpenIDClientId': 'string',
                      'OpenIDIatTTL': 'string',
                      'OpenIDIssueURL': 'string',
                      'OpenIDProviderName': 'string'
                  }
              },
              'Service': 'string',
              'TransformSchema': 'string'
          },
          'ResourceName': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      200 response

      
      

      - **AppId** *(string) --* 

        The app ID.

        
      

      - **BackendEnvironmentName** *(string) --* 

        The name of the backend environment.

        
      

      - **Error** *(string) --* 

        If the request fails, this error is returned.

        
      

      - **ResourceConfig** *(dict) --* 

        The resource configuration for this response object.

        
        

        - **AdditionalAuthTypes** *(list) --* 

          Additional authentication methods used to interact with your data models.

          
          

          - *(dict) --* 

            Describes the auth types for your configured data models.

            
            

            - **Mode** *(string) --* 

              Describes the authentication mode.

              
            

            - **Settings** *(dict) --* 

              Describes settings for the authentication mode.

              
              

              - **CognitoUserPoolId** *(string) --* 

                The Amazon Cognito user pool ID, if Amazon Cognito was used as an authentication setting to access your data models.

                
              

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

                The API key description for API_KEY, if it was used as an authentication mechanism to access your data models.

                
              

              - **ExpirationTime** *(float) --* 

                The API key expiration time for API_KEY, if it was used as an authentication mechanism to access your data models.

                
              

              - **OpenIDAuthTTL** *(string) --* 

                The expiry time for the OpenID authentication mechanism.

                
              

              - **OpenIDClientId** *(string) --* 

                The clientID for openID, if openID was used as an authentication setting to access your data models.

                
              

              - **OpenIDIatTTL** *(string) --* 

                The expiry time for the OpenID authentication mechanism.

                
              

              - **OpenIDIssueURL** *(string) --* 

                The openID issuer URL, if openID was used as an authentication setting to access your data models.

                
              

              - **OpenIDProviderName** *(string) --* 

                The OpenID provider name, if OpenID was used as an authentication mechanism to access your data models.

                
          
        
      
        

        - **ApiName** *(string) --* 

          The API name used to interact with the data model, configured as a part of your Amplify project.

          
        

        - **ConflictResolution** *(dict) --* 

          The conflict resolution strategy for your data stored in the data models.

          
          

          - **ResolutionStrategy** *(string) --* 

            The strategy for conflict resolution.

            
      
        

        - **DefaultAuthType** *(dict) --* 

          The default authentication type for interacting with the configured data models in your Amplify project.

          
          

          - **Mode** *(string) --* 

            Describes the authentication mode.

            
          

          - **Settings** *(dict) --* 

            Describes settings for the authentication mode.

            
            

            - **CognitoUserPoolId** *(string) --* 

              The Amazon Cognito user pool ID, if Amazon Cognito was used as an authentication setting to access your data models.

              
            

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

              The API key description for API_KEY, if it was used as an authentication mechanism to access your data models.

              
            

            - **ExpirationTime** *(float) --* 

              The API key expiration time for API_KEY, if it was used as an authentication mechanism to access your data models.

              
            

            - **OpenIDAuthTTL** *(string) --* 

              The expiry time for the OpenID authentication mechanism.

              
            

            - **OpenIDClientId** *(string) --* 

              The clientID for openID, if openID was used as an authentication setting to access your data models.

              
            

            - **OpenIDIatTTL** *(string) --* 

              The expiry time for the OpenID authentication mechanism.

              
            

            - **OpenIDIssueURL** *(string) --* 

              The openID issuer URL, if openID was used as an authentication setting to access your data models.

              
            

            - **OpenIDProviderName** *(string) --* 

              The OpenID provider name, if OpenID was used as an authentication mechanism to access your data models.

              
        
      
        

        - **Service** *(string) --* 

          The service used to provision and interact with the data model.

          
        

        - **TransformSchema** *(string) --* 

          The definition of the data model in the annotated transform of the GraphQL schema.

          
    
      

      - **ResourceName** *(string) --* 

        The name of this resource.

        
  
  **Exceptions**
  
  *   :py:class:`AmplifyBackend.Client.exceptions.NotFoundException`

  
  *   :py:class:`AmplifyBackend.Client.exceptions.GatewayTimeoutException`

  
  *   :py:class:`AmplifyBackend.Client.exceptions.TooManyRequestsException`

  
  *   :py:class:`AmplifyBackend.Client.exceptions.BadRequestException`

  