/v1. Dentro de /v1 o contrato muda apenas de forma aditiva:
- novos endpoints;
- novos parâmetros de query opcionais;
- novos campos nas respostas;
- novos códigos de erro para situações novas.
Alterações incompatíveis
Todo o resto é uma alteração incompatível: remover ou renomear um campo ou endpoint, mudar o tipo ou significado de um campo, adicionar um valor a um enum existente comostatus, ou tornar um parâmetro obrigatório.
Uma alteração incompatível tem pelo menos 6 meses de aviso no registo de alterações, com o que muda, o que precisa de fazer e a primeira data em que o comportamento anterior deixa de existir. Quando possível, chega numa nova versão maior (/v2) enquanto /v1 continua a funcionar até essa data.