Driftwatch

Cloudflare / Cloudflare API /

Breaking

Response field messages removed

What changed

Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.

Affects POST /accounts/{account_id}/images/v1/direct_upload.

Who is affected

Code that reads POST /accounts/{account_id}/images/v1/direct_upload (messages).

Before and after

WhereBeforeAfter
POST /accounts/{account_id}/images/v1/direct_upload · messagespresentabsent
GET /accounts/{account_id}/images/v1/stats · messagespresentabsent
GET /accounts/{account_id}/images/v1/variants/{variant_id} · messagespresentabsent
GET /accounts/{account_id}/images/v1/{image_id} · messagespresentabsent
GET /accounts/{account_id}/images/v1/{image_id}/blob · messagespresentabsent
GET /accounts/{account_id}/images/v2/sourcingkit/migrations/{migration_id} · messagespresentabsent
GET /accounts/{account_id}/images/v2/sourcingkit/migrations/{migration_id}/logs · messagespresentabsent
POST /accounts/{account_id}/images/v2/sourcingkit/sources/connectivity-precheck · messagespresentabsent
GET /accounts/{account_id}/images/v1 · messagespresentabsent
POST /accounts/{account_id}/images/v1 · messagespresentabsent
GET /accounts/{account_id}/images/v1/keys · messagespresentabsent
PUT /accounts/{account_id}/images/v1/keys/{signing_key_name} · messagespresentabsent
DELETE /accounts/{account_id}/images/v1/keys/{signing_key_name} · messagespresentabsent
GET /accounts/{account_id}/images/v1/variants · messagespresentabsent
POST /accounts/{account_id}/images/v1/variants · messagespresentabsent
DELETE /accounts/{account_id}/images/v1/variants/{variant_id} · messagespresentabsent
PATCH /accounts/{account_id}/images/v1/variants/{variant_id} · messagespresentabsent
GET /accounts/{account_id}/images/v1/variants/{variant_id}/flat · messagespresentabsent
DELETE /accounts/{account_id}/images/v1/{image_id} · messagespresentabsent
PATCH /accounts/{account_id}/images/v1/{image_id} · messagespresentabsent
POST /accounts/{account_id}/images/v2/direct_upload · messagespresentabsent
GET /accounts/{account_id}/images/v2/sourcingkit/migrations · messagespresentabsent
POST /accounts/{account_id}/images/v2/sourcingkit/migrations · messagespresentabsent
DELETE /accounts/{account_id}/images/v2/sourcingkit/migrations/{migration_id} · messagespresentabsent
GET /accounts/{account_id}/images/v2/sourcingkit/migrations/{migration_id}/lifecycle · messagespresentabsent
GET /accounts/{account_id}/images/v2/sourcingkit/sources · messagespresentabsent
POST /accounts/{account_id}/images/v2/sourcingkit/sources · messagespresentabsent
GET /accounts/{account_id}/images/v2/sourcingkit/sources/{source_id} · messagespresentabsent
DELETE /accounts/{account_id}/images/v2/sourcingkit/sources/{source_id} · messagespresentabsent
PATCH /accounts/{account_id}/images/v2/sourcingkit/sources/{source_id} · messagespresentabsent
GET /accounts/{account_id}/images/v2/sourcingkit/sources/{source_id}/connectivity · messagespresentabsent

Code that breaks

// response.messages is now undefined
const messages = response.messages;

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