/v1. Dentro /v1 il contratto cambia solo in modo additivo:
- nuovi endpoint;
- nuovi parametri di query facoltativi;
- nuovi campi nelle risposte;
- nuovi codici di errore per situazioni nuove.
Modifiche incompatibili
Tutto il resto è una modifica incompatibile: rimuovere o rinominare un campo o un endpoint, cambiare il tipo o il significato di un campo, aggiungere un valore a un enum esistente comestatus, oppure rendere obbligatorio un parametro.
Una modifica incompatibile ha un preavviso di almeno 6 mesi nel registro delle modifiche, con che cosa cambia, che cosa devi fare e la prima data in cui il comportamento precedente viene ritirato. Quando è possibile esce come nuova versione major (/v2), mentre /v1 continua a funzionare fino a quella data.