Driftwatch

Vercel / Vercel REST API /

Breakingdirection flip: their tools call this safe

Response field replicas is no longer guaranteed

What changed

Producer-side tools call this non-breaking. For a consumer it is a null dereference on an unknown future date.

Affects services[].builder.config.daemon.replicas on PATCH /v12/deployments/{id}/cancel. Nothing fails at the call; it fails wherever the value is finally used, which is usually somewhere else entirely.

no longer guaranteed present

Who is affected

Code that reads PATCH /v12/deployments/{id}/cancel (services[].builder.config.daemon.replicas).

Before and after

WhereBeforeAfter
PATCH /v12/deployments/{id}/cancel · services[].builder.config.daemon.replicasalways presentmay be missing
POST /v13/deployments · services[].builder.config.daemon.replicasalways presentmay be missing
GET /v13/deployments/{idOrUrl} · services[].builder.config.daemon.replicasalways presentmay be missing

Code that breaks

// response.services[0].builder.config.daemon.replicas may now be absent or null
const replicas = response.services[0].builder.config.daemon.replicas ?? fallback;

Based on Vercel’s published API specification. How severity is decided.