v1, e ela só muda de forma compatível. Isto é o que
você pode dar como certo, e o que o seu cliente tem que tolerar.
O que não muda dentro de v1
- Os paths e os métodos das cinco operações.
- Os campos obrigatórios de cada requisição e de cada resposta: não são removidos nem mudam de tipo.
- Os momentos (
surface) e os sete tipos de sinal. - A forma comum dos erros:
type,title,status,detail,code,request_id, com as extensões no nível raiz. - Os prefixos dos ids.
O que pode mudar sem aviso
O SDK já faz isso: os tipos deixam passar campos desconhecidos,
CrossUpApiError guarda em extensions o que não conhece, e reason_codes é
string[].
O incompatível, e como é avisado
Remover um campo, mudar um tipo, um path ou o significado de um valor. Nada disso entra emv1. Se for preciso, sai como v2 em outro path, v1 continua
viva, e a mudança é anunciada em Mudanças antes de sair.
Qual versão do contrato você está vendo
Esta referência é gerada do contrato OpenAPI 3.1, e cada mudança fica em Mudanças com a data e a operação que tocou.Erros
Os onze tipos, com sua forma exata.
Mudanças
O histórico do contrato e dos pacotes.