What changed
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects errors[].message on POST /accounts/{account_id}/email/sending/send.
New value: email.sending.error.email.account_suspended.
can now return "email.sending.error.email.account_suspended"
Who is affected
Code that reads POST /accounts/{account_id}/email/sending/send (errors[].message).
Before and after
| Where | Before | After |
|---|---|---|
| POST /accounts/{account_id}/email/sending/send · errors[].message | "email.sending.error.email.sender_not_configured", "email.sending.error.email.sending_disabled" | "email.sending.error.email.account_suspended", "email.sending.error.email.sender_not_configured", "email.sending.error.email.sending_disabled" |
| POST /accounts/{account_id}/email/sending/send_raw · errors[].message | "email.sending.error.email.sender_not_configured", "email.sending.error.email.sending_disabled" | "email.sending.error.email.account_suspended", "email.sending.error.email.sender_not_configured", "email.sending.error.email.sending_disabled" |
Code that breaks
switch (response.errors[0].message) {
// existing branches …
// no branch for "email.sending.error.email.account_suspended"
default:
throw new Error("unexpected message");
}Based on Cloudflare’s published API specification. How severity is decided.