Cloudflare: type can now return "d1" Cloudflare's AI Search API can now return "d1" as a value for result.type on POST /accounts/{account_id}/ai-search/instances, adding to the existing "r2", "web-crawler" and null values. The change, described as additive by producer-side tools, also applies to the GET, PUT and DELETE instance endpoints and to the namespaced instance endpoints, and breaks exhaustive switches, strict parsers and generated client enums that lack a "d1" branch. What changed Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums. Affects result.type on POST /accounts/{account id}/ai-search/instances . New value: d1 . can now return "d1" Who is affected Code that reads POST /accounts/{account id}/ai-search/instances result.type . Before and after | Where | Before | After | |---|---|---| | POST /accounts/{account id}/ai-search/instances · result.type | "r2", "web-crawler", null | "d1", "r2", "web-crawler", null | | GET /accounts/{account id}/ai-search/instances · result .type | "r2", "web-crawler", null | "d1", "r2", "web-crawler", null | | GET /accounts/{account id}/ai-search/instances/{id} · result.type | "r2", "web-crawler", null | "d1", "r2", "web-crawler", null | | PUT /accounts/{account id}/ai-search/instances/{id} · result.type | "r2", "web-crawler", null | "d1", "r2", "web-crawler", null | | DELETE /accounts/{account id}/ai-search/instances/{id} · result.type | "r2", "web-crawler", null | "d1", "r2", "web-crawler", null | | GET /accounts/{account id}/ai-search/namespaces/{namespace}/instances · result .type | "r2", "web-crawler", null | "d1", "r2", "web-crawler", null | | POST /accounts/{account id}/ai-search/namespaces/{namespace}/instances · result.type | "r2", "web-crawler", null | "d1", "r2", "web-crawler", null | | GET /accounts/{account id}/ai-search/namespaces/{namespace}/instances/{id} · result.type | "r2", "web-crawler", null | "d1", "r2", "web-crawler", null | | PUT /accounts/{account id}/ai-search/namespaces/{namespace}/instances/{id} · result.type | "r2", "web-crawler", null | "d1", "r2", "web-crawler", null | | DELETE /accounts/{account id}/ai-search/namespaces/{namespace}/instances/{id} · result.type | "r2", "web-crawler", null | "d1", "r2", "web-crawler", null | Code that breaks switch response.result.type { // existing branches … // no branch for "d1" default: throw new Error "unexpected type" ; } Based on Cloudflare’s published API specification. How severity is decided https://driftwatch.et/method .