What changed
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects type on access_self_hosted_props reachable from 4 operations.
New value: end_user.
can now return "end_user"
Who is affected
Code that reads Cloudflare's access_self_hosted_props objects, used by 4 Cloudflare operations.
Before and after
| Where | Before | After |
|---|---|---|
| access_self_hosted_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_app_launcher_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_biso_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_bookmark_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_infra_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_mcp_portal_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_mcp_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_proxy_endpoint_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_rdp_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_saas_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_ssh_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_vnc_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
| access_warp_props.type | "app_launcher", "biso", "bookmark", "dash_sso", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" | "app_launcher", "biso", "bookmark", "dash_sso", "end_user", "infrastructure", "mcp", "mcp_portal", "proxy_endpoint", "rdp", "saas", "self_hosted", "ssh", "vnc", "warp" |
Code that breaks
switch (response.type) {
// existing branches …
// no branch for "end_user"
default:
throw new Error("unexpected type");
}Based on Cloudflare’s published API specification. How severity is decided.