Removing API management

If you have added API management to your application on Google Cloud Platform (GCP), and subsequently you decide that you don't want the API management features, you can configure Cloud Endpoints Frameworks to stop managing your API.

Removing API management doesn't stop your API from being served. If you want to stop serving your API, you can either disable the application on the App Engine Settings page in the Google Cloud Platform Console, or you can delete the GCP project. See Disabling an application and shutting down a project for more information.

To remove API management:

  1. Backup your API project's web.xml and appengine-web.xml files.

  2. In your API project’s web.xml, remove the following:

    • The endpoints-api-configuration filter.
    • The endpoints-api-controller filter.
    • The endpoints-api-configuration filter-mapping.
    • The endpoints-api-controller filter-mapping.

    After deleting the filters and filter-mappings, your web.xml should look similar to the following:

    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
        <!-- Wrap the backend with Endpoints Frameworks v2. -->
        <servlet>
            <servlet-name>EndpointsServlet</servlet-name>
            <servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class>
            <init-param>
                <param-name>services</param-name>
                <param-value>com.example.skeleton.MyApi</param-value>
            </init-param>
        </servlet>
        <!-- Route API method requests to the backend. -->
        <servlet-mapping>
            <servlet-name>EndpointsServlet</servlet-name>
            <url-pattern>/_ah/api/*</url-pattern>
        </servlet-mapping>
    </web-app>
  3. In your appengine-web.xml, remove the line that defines the ENDPOINTS_SERVICE_NAME environment variable. If ENDPOINTS_SERVICE_NAME is the only environment variable that you have defined, remove the entire env-variables section.

  4. Clean your project and then build your API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  5. Redeploy your application:

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

After you redeploy your application, Cloud Endpoints Frameworks stops managing your API.

Verifying API management removal

To verify that Cloud Endpoints Frameworks is no longer managing your API:

  1. In the GCP Console, go to the Endpoints Services page.

    Go to the Endpoints Services page

  2. Write down the number of requests to one of the methods in your API.

  3. Click the View logs link for the method.

  4. In the Produced API log, write down the date and time of the most recent log entry.

  5. Send some requests to the method in your API.

  6. In the GCP Console, go to the Endpoints Services page.

    Go to the Endpoints Services page

    The request counter for the method is not updated.

  7. Click the View logs link for the method.

    The Produced API log doesn't contain log entries for the requests that you sent.

Removing dependencies in your build configuration

Although not required, you might want to remove dependencies in your build configuration.

To remove dependencies in your build configuration:

  1. Backup your pom.xml file or your build.gradle file.

  2. Remove the following dependencies:

    • endpoints-management-control-appengine
    • endpoints-management-control-appengine-all
    • endpoints-framework-auth
  3. Clean your project and then build your API:

    Maven

        mvn clean
        mvn package

    Gradle

        gradle clean
        gradle build
  4. Redeploy your application.

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

  5. Test your API to make sure it is working as expected.

Deleting the managed service

Cloud Endpoints Frameworks uses Google's Service Management to manage your API. When you deployed the OpenAPI document by using the gcloud endpoints services deploy command, the command used Service Management to create a managed service for your API. If you don't need the data on the Endpoints Services page and in the Produced API log on the Logs Viewer page, you can delete the managed service for your API, which removes the data from the GCP Console.

To delete the managed service:

  1. Make sure that the Cloud SDK (gcloud) is authorized to access your data and services on GCP:

    gcloud auth login
    
  2. Enter the following to display the project IDs for your GCP projects:

    gcloud projects list
    
  3. Using the applicable project ID from the previous step, set the default GCP project to the one that your application is in:

    gcloud config set project [YOUR_PROJECT_ID]
    
  4. Obtain the name of all managed services in your GCP project:

    gcloud endpoints services list
    
  5. Delete the service from Service Management:

    gcloud endpoints services delete [SERVICE_NAME]
    

    Running gcloud endpoints services delete doesn't immediately delete the managed service. Service Management disables the managed service for 30 days, which allows you time to restore it if you need to. After 30 days, Service Management permanently deletes the managed service.

What's next

Was this page helpful? Let us know how we did:

Send feedback about...

Cloud Endpoints Frameworks for App Engine
Need help? Visit our support page.