Driftwatch

Cloudflare / Cloudflare API /

Breaking

Response field success 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 (success).

Before and after

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

Code that breaks

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

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