O padrão expansão e contração de API , também chamado de mudança paralela, é familiar para muitas pessoas, especialmente quando usado com bancos de dados ou código. No entanto, vemos baixa adoção quando se trata de APIs. Especificamente, temos visto esquemas de controle de versão complexos e mudanças significativas em cenários nos quais uma simples expansão, seguida por uma contração, seriam suficientes. Um exemplo seria adicionar primeiro a uma API enquanto um elemento existente é descontinuado e, em seguida, remover os elementos depreciados depois que a base de clientes for movida para o esquema mais recente. Essa abordagem requer alguma coordenação e visibilidade de clientes da API, talvez por meio de uma técnica como teste de contrato orientado a clientes.