Uma API é um serviço de chamada de procedimento remoto (RPC) que fornece métodos remotos acessíveis a clientes externos. Cada API de back-end consiste numa classe de serviço RPC que é uma subclasse da classe ProtoRPC remote.Service e um ou mais métodos. Quando define um método, também tem de definir as classes Message para os pedidos que chegam a esse método e as respostas devolvidas por ele.
Uma classe Message executa uma função de mapeamento para que os dados recebidos possam ser extraídos e fornecidos corretamente ao método de serviço ou fornecidos corretamente à resposta de saída.
Se um pedido tiver argumentos de caminho ou de string de consulta, usa uma classe ResourceContainer para o mapeamento, em vez de uma classe Message simples.
Por último, tem de decorar a classe do serviço da API e os métodos da classe, bem como definir classes Message para os pedidos e as respostas.
Criar a API
O procedimento seguinte mostra como decorar o seu código para criar uma API implementada numa única classe. Se tiver uma API de várias classes, consulte o artigo Criar uma API implementada com várias classes. Consulte a secção Decoradores para ver informações detalhadas sobre todos os decoradores disponíveis.
Para criar uma API:
- Adicione as seguintes importações necessárias: 
- Defina uma subclasse de - remote.Servicee decore-a com- @endpoints.api:- Tenha em atenção que o nome da API e o nome da classe de serviço não têm de ser iguais. O número da versão aplica-se à versão da API. O valor que introduzir torna-se parte do caminho no URL para a sua API. Para mais informações sobre as versões, consulte o artigo Como lidar com o controlo de versões da API. 
- Determine que dados o seu método espera do pedido e que dados são devolvidos e crie uma classe - Messagepara o corpo do pedido e o corpo da resposta:- Tenha em atenção que, se não aparecerem argumentos no corpo do pedido, como num pedido - GET, pode omitir a classe- Messagepara o pedido e usar simplesmente o valor- message_types.VoidMessage.- Se o seu pedido tiver argumentos de caminho ou de string de consulta, substitua a classe - Messagepor um- ResourceContaineradequado.- Para obter informações completas sobre a formação e a utilização de classes - Message, consulte a documentação das classes- Messagede resposta e pedido do Google Protocol RPC.
- Crie o método para a sua API e decore-o com - @endpoints.method:- Se o seu pedido tiver dados de caminho ou string de consulta, substitua o tipo de mensagem do pedido por um - ResourceContaineradequado.
- Adicione o código para publicar a sua API, conforme descrito em Criar um servidor Web.