Required Files and Configuration

We recommend that you use the latest version of this feature, which is renamed to Cloud Endpoints Frameworks for App Engine. This new version supports App Engine standard environment, provides lower latency, and has better integration with App Engine. For more details, see Migrating to 2.0.

If you use Android Studio and Cloud Tools for Android Studio to build your app and backend API, Android Studio automatically generates the neccessary web.xml and appengine-web.xml files.

Or if you use Maven and the artifacts described in the Android Backend Tutorial setup and configuration pages, your project automatically has the web.xml and appengine-web.xml generated with the proper entries.

Your project must contain, at a minimum, the following files:

File and Location Description
/src/<your_api_class>.py The class file (or files, if you implement your API across multiple classes) containing your backend API.
/src/<your_api_server>.py Optional file containing your API server code, if you don't include it inside your API class.
/src/app.yaml The web app deployment descriptor required for App Engine configuration.

The contents of each of these required files is documented in the following sections.

The backend API class file

The required and optional contents of the class file (or files, if you use a multi-class API) are fully described in the topic Creating an Endpoints API.

The API server file (Optional)

This file and its contents are fully described under Creating an API server.


The bare minimum contents required for this file are as follows:

runtime: python27
threadsafe: true
api_version: 1

# The endpoints handler must be mapped to /_ah/spi.
# Apps send requests to /_ah/api, but the endpoints service handles mapping
# those requests to /_ah/spi.
- url: /_ah/spi/.*
  script: main.api

- name: pycrypto
  version: 2.6
- name: endpoints
  version: 1.0


  • main is the name of the Python module and variable for your API server.
  • threadsafe is set to true if you want App Engine to send multiple requests in parallel, or set to false, if you want App Engine to send requests serially.

Additional but optional settings are available. See the app.yaml reference for more information. However, note that the information under Requiring login or administrator status and Secure URLs do not apply to backend APIs.

Send feedback about...

App Engine standard environment for Python