当对 AI Search API 或公共端点的请求失败时,会返回本页记录的错误之一。
条目在索引过程中发生的错误另行处理。请参阅 索引错误代码。
REST API 与公共端点以 JSON 封装返回错误:
{
"success": false,
"errors": [
{
"code": 7002,
"message": "ai_search_not_found"
}
],
"result": {}
}Workers 绑定(binding) 会抛出异常。异常的 message 包含 AI Search 错误消息,例如 ai_search_not_found。
对于 Workers 绑定调用,抛出的错误类取决于上游 HTTP 状态:
| HTTP 状态 | Workers 绑定错误 |
|---|---|
| 404 | AiSearchNotFoundError |
| 5xx | AiSearchInternalError |
| 其他 | AiSearchError |
这些错误可能出现在大多数 AI Search API 路径上。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 10000 | Authentication error |
401 | 身份验证失败。 | 检查你的 API 令牌 与 AI Search 权限。 |
| 7001 | Internal Error |
500 | 发生内部错误。 | 重试请求。检查 Cloudflare Status ↗,若错误持续请 联系支持。 |
| 7002 | ai_search_not_found |
404 | 请求的实例不存在。 | 检查实例名称与命名空间。 |
| 7017 | unable_to_connect_to_ai_search |
503 | AI Search 无法连接到内部服务。 | 重试请求。检查 Cloudflare Status ↗,若错误持续请 联系支持。 |
| 7063 | namespace_not_found |
404 | 请求的命名空间不存在。 | 检查 命名空间 名称。 |
| 7068 | Internal Error |
500 | 内部不变量失败。 | 重试请求。检查 Cloudflare Status ↗,若错误持续请 联系支持。 |
这些错误可能在通过 REST API 或 Workers 绑定创建、读取、更新、删除 AI Search 实例或获取统计信息时发生。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 7002 | ai_search_not_found |
404 | 请求的实例不存在。 | 检查实例名称与命名空间。 |
| 7017 | unable_to_connect_to_ai_search |
503 | AI Search 无法连接到索引引擎。 | 重试请求。检查 Cloudflare Status ↗,若错误持续请 联系支持。 |
| 7010 | invalid_model |
400 | 已配置或请求的模型无效。 | 使用 受支持的模型。 |
| 7018 | ai_gateway_not_found |
400 | 为实例配置的 AI Gateway 未找到。 | 在 创建或更新实例 时将 ai_gateway_id 设为已有网关,或在 AI Gateway 中创建网关。 |
| 7012 | ai_search_instance_invalid_token |
400 | 为实例配置的服务 API 令牌无效。 | 创建或更新实例使用的 服务 API 令牌。 |
| 7013 | max_instances_reached |
403 | 账户已达到实例上限。 | 删除未使用的实例,或 申请更高上限。 |
| 7022 | ai_search_with_this_name_already_exist |
400 | 该命名空间中已存在同名实例。 | 使用不同的实例名称或 命名空间。 |
| 7023 | domain_not_owned_by_user |
400 | AI Search 无法确认网站数据源域名的所有权。 | 检查该域名是否已 接入 Cloudflare。 |
| 7024 | invalid_domain |
400 | 网站数据源域名无效。 | 检查 网站数据源 URL。 |
| 7028 | missing_sitemap |
400 | AI Search 未找到网站数据源的有效 sitemap。 | 添加或更新网站 sitemap。 |
| 7029 | missing_robots_txt |
400 | AI Search 无法获取网站数据源的 robots.txt。 |
添加包含 sitemap 信息的有效 robots.txt 文件。 |
| 7034 | forbidden_robots_txt |
400 | robots.txt 阻止 AI Search 抓取网站数据源。 |
允许 AI Search 爬虫 抓取该站点。 |
| 7035 | forbidden_sitemap |
400 | AI Search 无法访问网站数据源的 sitemap。 | 允许 AI Search 爬虫访问 sitemap URL。 |
| 7036 | invalid_chunk_size |
400 | 分块大小超过嵌入模型的输入 token 限制。 | 根据 嵌入模型限制 使用更小的 分块大小。 |
| 7040 | invalid_custom_header |
400 | 网站数据源抓取请求头无效或不允许。 | 查看 额外请求头 并移除不受支持的请求头。 |
| 7045 | specific_sitemaps_only_valid_when_parse_type_is_sitemap |
400 | 为不兼容的网站数据源解析类型提供了特定 sitemap。 | 仅在 sitemap 解析时使用 特定 sitemap。 |
| 7047 | invalid_url_location |
400 | 网站数据源 URL 位置无效。 | 检查 网站数据源 URL。 |
| 7050 | fail_while_provisioning_managed_resources |
500 | AI Search 无法为实例创建托管资源。 | 重试请求。检查 Cloudflare Status ↗,若预配持续失败请 联系支持。 |
| 7052 | type_and_source_are_required_for_non_managed_instances |
400 | 非托管实例缺少 type 或 source。 |
提供所需的 数据源 字段。 |
这些错误可能在创建、列出、读取、更新或删除命名空间,或在命名空间之间移动实例时发生。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 7022 | ai_search_with_this_name_already_exist |
400 | 目标命名空间中已存在同名实例。 | 使用不同的实例名称或 命名空间。 |
| 7062 | max_namespaces_reached |
403 | 账户已达到 100 个命名空间的上限。 | 删除未使用的命名空间,或 申请更高上限。 |
| 7063 | namespace_not_found |
404 | 请求的命名空间不存在。 | 检查 命名空间 名称。 |
| 7064 | namespace_already_exists |
409 | 命名空间已存在。 | 使用不同的命名空间名称,或更新现有命名空间。 |
| 7065 | cannot_modify_default_namespace |
400 | 每个账户都会创建默认命名空间,此操作无法删除或修改它。 | 对此操作使用非默认 命名空间。 |
| 7066 | namespace_not_empty |
400 | 命名空间仍包含实例。 | 在删除 命名空间 前,先移动或删除实例。 |
| 7067 | namespace_same_name |
400 | 源命名空间与目标命名空间名称相同。 | 选择不同的目标 命名空间。 |
这些错误可能在创建、列出、读取、更新或删除 AI Search 的服务 API 令牌时发生。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 7012 | ai_search_instance_invalid_token |
400 | 令牌无效。 | 创建或更新 服务 API 令牌。 |
| 7075 | token_not_found |
404 | 请求的令牌不存在。 | 创建新的 服务 API 令牌。 |
| 7076 | token_in_use_by_instances |
409 | 仍有一个或多个实例在使用该令牌。 | 在删除 服务 API 令牌 前,先更新或删除这些实例。 |
这些错误可能在通过 Items API 或 Workers 绑定上传、列出、读取、下载、删除、同步、过滤或检查已索引条目时发生。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 7032 | ai_search_is_paused |
400 | 实例已暂停。 | 在上传条目前恢复实例。 |
| 7041 | item_not_found |
404 | 请求的条目不存在。 | 检查条目 ID。 |
| 7042 | item_key_already_exist |
409 | 已存在具有此键的条目。 | 使用不同的文件名,或通过 Items API 管理现有条目。 |
| 7044 | unable_to_sync_item |
503 | AI Search 无法同步该条目。 | 重试操作。详情请参阅 索引错误代码。 |
| 7053 | this_operation_requires_a_managed_instance |
400 | 该操作仅适用于托管实例。 | 使用带有 内置存储 的实例。 |
| 7054 | file_exceeds_maximum_size |
413 | 上传的文件过大。 | 上传前减小文件大小。查看 文件大小限制。 |
| 7055 | file_field_is_required |
400 | 上传请求缺少 file 字段。 |
在 multipart 表单数据中包含 file 字段。 |
| 7056 | invalid_metadata_format |
400 | 上传元数据无效。 | 以有效的 JSON 对象发送上传元数据。请参阅 元数据属性。 |
| 7058 | invalid_metadata_filter |
400 | 元数据过滤器无效。 | 检查 过滤器语法 与字段名。 |
| 7059 | content_download_not_available_for_external_source_items |
400 | 外部来源条目的原始内容不可用。 | 从原始 数据源 下载文件。 |
| 7060 | unsupported_file_type |
400 | AI Search 无法确定受支持的内容类型。 | 上传 受支持的文件类型。 |
| 7072 | filename_exceeds_maximum_length |
400 | 文件名或条目键超过 128 个字符。 | 使用 128 个字符以内的文件名或条目键。 |
这些错误可能在通过 REST API 或 Workers 绑定创建、列出、读取、取消同步作业或列出其日志时发生。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 7020 | sync_in_cooldown |
429 | 在上次同步作业后的 30 秒内请求了用户触发的同步作业。 | 至少等待 30 秒后再启动另一个同步作业。 |
| 7021 | job_not_found |
404 | 请求的作业不存在。 | 检查作业 ID。 |
| 7046 | job_cannot_be_cancelled |
400 | 作业已结束,无法取消。 | 取消前刷新作业状态。 |
这些错误可能在通过 REST API、Workers 绑定或公共端点运行实例搜索、跨实例搜索、公共端点搜索或 instance.search() 时发生。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 7010 | invalid_model |
400 | 已配置或请求的模型无效。 | 使用 受支持的模型。 |
| 7015 | filter_or_operator_only_supports_eq_filters |
400 | or 过滤器包含不受支持的运算符。 |
使用受支持的 过滤器语法。 |
| 7016 | filter_or_operator_does_not_support_different_keys |
400 | or 过滤器包含多个元数据键。 |
在 or 过滤器内的每次比较中使用相同的 元数据属性。 |
| 7039 | missing_user_query |
400 | 搜索请求未包含用户查询。 | 在 messages 格式 中包含 query 或用户消息。 |
| 7057 | invalid_datetime_filter_value |
400 | 日期时间元数据过滤器值无效。 | 在 元数据过滤器 中使用有效的日期时间值。 |
| 7058 | invalid_metadata_filter |
400 | 元数据过滤器无效。 | 检查 过滤器语法 与字段名。 |
| 7069 | monthly_query_quota_exceeded |
429 | 账户已达到其 Workers 计划的每月查询配额。 | 查看 AI Search 限制,等待配额重置,或升级你的 Workers 计划。 |
| 7070 | invalid_retrieval_type |
400 | 请求将 retrieval_type 设为实例的 index_method 不支持的模式。keyword 与 hybrid 均需要关键词索引。 |
在实例上启用所需的 索引方法,这会触发重新索引。若该覆盖并非有意,请移除 retrieval_type。 |
| 7071 | vectorize_authentication_failed |
401 | AI Search 无法向 Vectorize 进行身份验证。 | 检查实例配置与 服务 API 令牌。 |
| 7073 | all_search_methods_failed |
500 | 所有检索方法均失败。 | 重试请求。检查 索引错误代码 与实例配置。 |
| 7080 | vectorize_filter_not_serializable |
400 | 无法将过滤器发送到 Vectorize。 | 使用可 JSON 序列化的过滤器值。 |
| 7089 | image_query_requires_vector_index |
400 | 图像查询需要向量索引。 | 为实例开启 向量搜索 并重新索引内容,或使用已启用向量搜索的实例。 |
这些错误可能在 AI Search 通过实例聊天补全、跨实例聊天补全、公共端点聊天补全或 instance.chatCompletions() 检索上下文并生成响应时发生。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 7010 | invalid_model |
400 | 已配置或请求的模型无效。 | 使用 受支持的模型。 |
| 7038 | missing_user_query |
400 | 聊天补全请求未包含用户查询。 | 在 messages 格式 中至少包含一条用户消息。 |
| 7069 | monthly_query_quota_exceeded |
429 | 账户已达到其 Workers 计划的每月查询配额。 | 查看 AI Search 限制,等待配额重置,或升级你的 Workers 计划。 |
| 7070 | invalid_retrieval_type |
400 | 请求将 retrieval_type 设为实例的 index_method 不支持的模式。keyword 与 hybrid 均需要关键词索引。 |
在实例上启用所需的 索引方法,这会触发重新索引。若该覆盖并非有意,请移除 retrieval_type。 |
| 7073 | all_search_methods_failed |
500 | 所有检索方法均失败。 | 重试请求。检查 索引错误代码 与实例配置。 |
| 7089 | image_query_requires_vector_index |
400 | 图像查询需要向量索引。 | 为实例开启 向量搜索 并重新索引内容,或使用已启用向量搜索的实例。 |
这些错误可能在使用 跨实例搜索或聊天 在一次请求中查询多个实例时发生。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 7049 | one_or_more_instance_searches_failed |
500 | 跨实例搜索失败且 return_on_failure 已禁用。 |
重试请求,或使用 return_on_failure 允许部分结果。 |
| 7074 | too_many_multi_search_instances |
400 | 跨实例搜索包含过多实例。 | 将 instance_ids 减少到 10 个或更少(允许的上限)。 |
当启用 return_on_failure 时,跨实例搜索可以返回带有 errors: [{ instance_id, message: "search_failed" }] 的部分结果。该响应不使用数字错误代码。
这些错误可能在搜索或聊天请求调用 Workers AI、AI Gateway 或外部模型提供商时发生。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 2003 | Rate limited |
429 | AI Gateway 对请求进行了速率限制。 | 使用退避重试,并在适用时查看 公共端点速率限制。 |
| 2016 | Prompt blocked due to security configurations |
424 | AI Gateway Guardrails 阻止了提示。 | 查看 AI Gateway Guardrails 的提示设置与提示内容。 |
| 2017 | Response blocked due to security configurations |
424 | AI Gateway Guardrails 阻止了响应。 | 查看 AI Gateway Guardrails 的响应设置与检索到的内容。 |
| 7011 | workers_ai_fail_to_return_a_valid_response |
500 | Workers AI 返回了无效响应。 | 重试请求。检查 Cloudflare Status ↗,若错误持续请 联系支持。 |
| 7019 | workers_ai_error |
400 | Workers AI 对该请求返回了错误。 | 检查 模型、输入与 AI Search 选项。 |
| 7030 | workers_ai_timeout |
400 | Workers AI 超时。 | 重试请求。检查 Cloudflare Status ↗,若错误持续请 联系支持。 |
| 7031 | ai_gateway_timeout |
400 | AI Gateway 超时。 | 重试请求。检查 Cloudflare Status ↗,若错误持续请 联系支持。 |
| 7033 | ai_gateway_exception |
502 | AI Gateway 或上游模型返回了错误。 | 重试请求。检查 AI Gateway 与提供商配置。 |
| 7077 | ai_gateway_authentication_error |
401 | AI Gateway 或上游提供商拒绝了身份验证。 | 在 AI Gateway 中检查提供商凭据。 |
| 7078 | ai_gateway_billing_error |
402 | 上游提供商报告了计费问题。 | 在 AI Gateway 中检查提供商计费状态。 |
| 7079 | ai_gateway_context_window_exceeded |
413 | 请求超出了模型上下文窗口。 | 减少消息历史、检索上下文或 结果数量。 |
这些错误可能在公共搜索、公共聊天补全、Model Context Protocol (MCP)、代码片段分析、资源或公共端点路由在请求被代理到 AI Search 之前失败时发生。公共端点 /search 与 /chat/completions 也可能返回上文列出的 AI Search API 错误。
| 代码 | 消息 | HTTP 状态 | 详情 | 建议操作 |
|---|---|---|---|---|
| 60001 | asset not found |
404 | 请求的 UI 代码片段资源路径不存在,例如资源版本不正确或过时。 | 使用 UI 代码片段库 中的 <script> 标签且不要改动;若资源版本过时请更新。 |
| 60002 | hash not found on url |
404 | URL 中缺少公共端点哈希。 | 使用从仪表板复制的 公共端点 URL。 |
| 60003 | config not found |
404 | 未找到公共端点配置。 | 确认已启用 公共端点。 |
| 60004 | ai search not enabled |
404 | 公共端点已禁用。 | 为实例启用 公共端点。 |
| 60005 | rate limited |
429 | 已超出公共端点速率限制。 | 在 速率限制 重置后重试。 |
| 60006 | endpoint not found |
404 | 请求的公共端点路由不存在。 | 使用受支持的 公共端点。 |
| 60007 | mcp endpoint disabled |
401 | MCP 端点已禁用。 | 为 公共端点 启用 MCP。 |
| 60008 | search endpoint disabled |
401 | 搜索端点已禁用。 | 在 公共端点设置 中启用搜索端点。 |
| 60009 | chat completions endpoint disabled |
401 | 聊天补全端点已禁用。 | 在 公共端点设置 中启用聊天补全端点。 |
| 60010 | method not allowed |
405 | 公共端点代码片段分析 /stats 端点收到了不受支持的 HTTP 方法。 |
使用 POST 向 /stats 发送代码片段分析请求。 |
| 60011 | invalid stats request body |
400 | 公共端点代码片段分析 /stats 请求体无效。 |
发送有效的 JSON 请求体,并包含非空的 events 数组。 |
| 60012 | invalid instance_ids query parameter |
400 | 命名空间公共端点收到了格式错误的 instance_ids 查询参数。 |
使用逗号分隔的 instance_ids 值,或省略该参数以搜索已配置的命名空间端点实例。 |
| 60013 | instance_ids contains values outside the configured allowlist |
400 | 命名空间公共端点请求包含不在其允许列表中的实例 ID。 | 仅使用为命名空间公共端点配置的实例 ID。 |
| 60014 | path not supported for namespace-kind hash |
404 | 命名空间公共端点收到了不受支持的路径。 | 使用 /search、/chat/completions 或 /mcp。 |
| 60015 | request body must be a JSON object |
400 | 公共端点请求体不是 JSON 对象。 | 将请求体作为带有 Content-Type: application/json 的 JSON 对象发送,而不是数组、字符串或空请求体。请参阅 公共端点用法。 |
| 60016 | method not allowed; this MCP endpoint only accepts POST |
405 | MCP 端点收到了非 POST 请求。 |
使用 POST 发送 MCP 请求。 |
| 60100 | internal error |
500 | 公共端点返回了意外错误。 | 重试请求。检查 Cloudflare Status ↗,若错误持续请 联系支持。 |
如果 API 请求失败,请检查错误响应中的 code 与 message 字段。对于 Workers 绑定调用,请检查抛出错误的 name 与 message。
对于瞬时服务错误,请使用指数退避重试。如果内部或服务错误持续,请向 Cloudflare 支持 提供错误代码、实例 ID 与请求时间戳。