> For the complete documentation index, see [llms.txt](https://guias.mosaico.gov.pt/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guias.mosaico.gov.pt/guias-praticos/boas-praticas-para-a-publicacao-de-api-a-consumir-pela-administracao-publica/crie-api-restful-robusta.md).

# Crie API RESTful robusta

As API devem seguir o padrão Representational State Transfer (REST), sempre que possível, ao utilizar o protocolo HTTP para manipulação de dados. Uma das vantagens do REST é fornecer uma estrutura para comunicar estados de erro. Utilize os HTTP headers para passar informação adicional e os métodos GET, POST, PUT e DELETE, que indicam a ação a ser realizada.

* GET – recupera ou consulta um recurso
* POST – cria um novo recurso ou inicia uma ação
* PUT – atualiza ou substitui um recurso existente
* DELETE – remover um recurso

Os Uniform Resource Locators (URL) devem representar apenas entidades e objetos de negócios, e deve evitar-se a utilização de métodos de ação dentro da string do URL.

Use JSON sempre que possível em todas as API e documente o objeto JSON para garantir que está bem descrito e acessível a todos.
