# Namespaces ## List namespaces. `client.AISearch.Namespaces.List(ctx, params) (*V4PagePaginationArray[NamespaceListResponse], error)` **get** `/accounts/{account_id}/ai-search/namespaces` List namespaces. ### Parameters - `params NamespaceListParams` - `AccountID param.Field[string]` Path param - `Page param.Field[int64]` Query param: Page number (1-indexed). - `PerPage param.Field[int64]` Query param: Number of results per page. - `Search param.Field[string]` Query param: Filter namespaces whose name or description contains this string (case-insensitive). ### Returns - `type NamespaceListResponse struct{…}` - `CreatedAt Time` - `Name string` - `Description string` Optional description for the namespace. Max 256 characters. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.AISearch.Namespaces.List(context.TODO(), ai_search.NamespaceListParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "result": [ { "created_at": "2019-12-27T18:11:19.117Z", "name": "production", "description": "Production environment" } ], "result_info": { "count": 0, "page": 0, "per_page": 0, "total_count": 0 }, "success": true } ``` ## Create namespace. `client.AISearch.Namespaces.New(ctx, params) (*NamespaceNewResponse, error)` **post** `/accounts/{account_id}/ai-search/namespaces` Create a new namespace. ### Parameters - `params NamespaceNewParams` - `AccountID param.Field[string]` Path param - `Name param.Field[string]` Body param - `Description param.Field[string]` Body param: Optional description for the namespace. Max 256 characters. ### Returns - `type NamespaceNewResponse struct{…}` - `CreatedAt Time` - `Name string` - `Description string` Optional description for the namespace. Max 256 characters. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) namespace, err := client.AISearch.Namespaces.New(context.TODO(), ai_search.NamespaceNewParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), Name: cloudflare.F("name"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", namespace.CreatedAt) } ``` #### Response ```json { "result": { "created_at": "2019-12-27T18:11:19.117Z", "name": "production", "description": "Production environment" }, "success": true } ``` ## Read namespace. `client.AISearch.Namespaces.Read(ctx, name, query) (*NamespaceReadResponse, error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}` Read namespace. ### Parameters - `name string` - `query NamespaceReadParams` - `AccountID param.Field[string]` ### Returns - `type NamespaceReadResponse struct{…}` - `CreatedAt Time` - `Name string` - `Description string` Optional description for the namespace. Max 256 characters. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Read( context.TODO(), "production", ai_search.NamespaceReadParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.CreatedAt) } ``` #### Response ```json { "result": { "created_at": "2019-12-27T18:11:19.117Z", "name": "production", "description": "Production environment" }, "success": true } ``` ## Update namespace. `client.AISearch.Namespaces.Update(ctx, name, params) (*NamespaceUpdateResponse, error)` **put** `/accounts/{account_id}/ai-search/namespaces/{name}` Update namespace. ### Parameters - `name string` - `params NamespaceUpdateParams` - `AccountID param.Field[string]` Path param - `Description param.Field[string]` Body param: Optional description for the namespace. Max 256 characters. ### Returns - `type NamespaceUpdateResponse struct{…}` - `CreatedAt Time` - `Name string` - `Description string` Optional description for the namespace. Max 256 characters. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) namespace, err := client.AISearch.Namespaces.Update( context.TODO(), "production", ai_search.NamespaceUpdateParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", namespace.CreatedAt) } ``` #### Response ```json { "result": { "created_at": "2019-12-27T18:11:19.117Z", "name": "production", "description": "Production environment" }, "success": true } ``` ## Delete namespace. `client.AISearch.Namespaces.Delete(ctx, name, body) (*NamespaceDeleteResponse, error)` **delete** `/accounts/{account_id}/ai-search/namespaces/{name}` Delete namespace. ### Parameters - `name string` - `body NamespaceDeleteParams` - `AccountID param.Field[string]` ### Returns - `type NamespaceDeleteResponse interface{…}` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) namespace, err := client.AISearch.Namespaces.Delete( context.TODO(), "production", ai_search.NamespaceDeleteParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", namespace) } ``` #### Response ```json { "result": {}, "success": true } ``` ## Multi-Instance Search `client.AISearch.Namespaces.Search(ctx, name, params) (*NamespaceSearchResponse, error)` **post** `/accounts/{account_id}/ai-search/namespaces/{name}/search` Multi-Instance Search ### Parameters - `name string` - `params NamespaceSearchParams` - `AccountID param.Field[string]` Path param - `AISearchOptions param.Field[NamespaceSearchParamsAISearchOptions]` Body param - `InstanceIDs []string` - `Cache NamespaceSearchParamsAISearchOptionsCache` - `CacheThreshold NamespaceSearchParamsAISearchOptionsCacheCacheThreshold` - `const NamespaceSearchParamsAISearchOptionsCacheCacheThresholdSuperStrictMatch NamespaceSearchParamsAISearchOptionsCacheCacheThreshold = "super_strict_match"` - `const NamespaceSearchParamsAISearchOptionsCacheCacheThresholdCloseEnough NamespaceSearchParamsAISearchOptionsCacheCacheThreshold = "close_enough"` - `const NamespaceSearchParamsAISearchOptionsCacheCacheThresholdFlexibleFriend NamespaceSearchParamsAISearchOptionsCacheCacheThreshold = "flexible_friend"` - `const NamespaceSearchParamsAISearchOptionsCacheCacheThresholdAnythingGoes NamespaceSearchParamsAISearchOptionsCacheCacheThreshold = "anything_goes"` - `Enabled bool` - `QueryRewrite NamespaceSearchParamsAISearchOptionsQueryRewrite` - `Enabled bool` - `Model NamespaceSearchParamsAISearchOptionsQueryRewriteModel` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfZaiOrgGlm4_7Flash NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2Instruct NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfGoogleGemma3_12bIt NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfGoogleGemma4_26bA4bIt NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2_5 NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_7Sonnet NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaudeSonnet4 NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaudeOpus4 NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_5Haiku NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bThinking NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCerebrasLlama3_3_70b NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelCerebrasGptOSs120b NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Flash NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Pro NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelGrokGrok4 NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "grok/grok-4"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelGroqLlama3_3_70bVersatile NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelGroqLlama3_1_8bInstant NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelOpenAIGpt5 NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Mini NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-mini"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Nano NamespaceSearchParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-nano"` - `const NamespaceSearchParamsAISearchOptionsQueryRewriteModelEmpty NamespaceSearchParamsAISearchOptionsQueryRewriteModel = ""` - `RewritePrompt string` - `Reranking NamespaceSearchParamsAISearchOptionsReranking` - `Enabled bool` - `MatchThreshold float64` - `Model NamespaceSearchParamsAISearchOptionsRerankingModel` - `const NamespaceSearchParamsAISearchOptionsRerankingModelCfBaaiBgeRerankerBase NamespaceSearchParamsAISearchOptionsRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceSearchParamsAISearchOptionsRerankingModelEmpty NamespaceSearchParamsAISearchOptionsRerankingModel = ""` - `Retrieval NamespaceSearchParamsAISearchOptionsRetrieval` - `BoostBy []NamespaceSearchParamsAISearchOptionsRetrievalBoostBy` Metadata fields to boost search results by. Overrides the instance-level boost_by config. Direction defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceSearchParamsAISearchOptionsRetrievalBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceSearchParamsAISearchOptionsRetrievalBoostByDirectionAsc NamespaceSearchParamsAISearchOptionsRetrievalBoostByDirection = "asc"` - `const NamespaceSearchParamsAISearchOptionsRetrievalBoostByDirectionDesc NamespaceSearchParamsAISearchOptionsRetrievalBoostByDirection = "desc"` - `const NamespaceSearchParamsAISearchOptionsRetrievalBoostByDirectionExists NamespaceSearchParamsAISearchOptionsRetrievalBoostByDirection = "exists"` - `const NamespaceSearchParamsAISearchOptionsRetrievalBoostByDirectionNotExists NamespaceSearchParamsAISearchOptionsRetrievalBoostByDirection = "not_exists"` - `ContextExpansion int64` - `Filters map[string, unknown]` - `FusionMethod NamespaceSearchParamsAISearchOptionsRetrievalFusionMethod` - `const NamespaceSearchParamsAISearchOptionsRetrievalFusionMethodMax NamespaceSearchParamsAISearchOptionsRetrievalFusionMethod = "max"` - `const NamespaceSearchParamsAISearchOptionsRetrievalFusionMethodRrf NamespaceSearchParamsAISearchOptionsRetrievalFusionMethod = "rrf"` - `KeywordMatchMode NamespaceSearchParamsAISearchOptionsRetrievalKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceSearchParamsAISearchOptionsRetrievalKeywordMatchModeAnd NamespaceSearchParamsAISearchOptionsRetrievalKeywordMatchMode = "and"` - `const NamespaceSearchParamsAISearchOptionsRetrievalKeywordMatchModeOr NamespaceSearchParamsAISearchOptionsRetrievalKeywordMatchMode = "or"` - `MatchThreshold float64` - `MaxNumResults int64` - `RetrievalType NamespaceSearchParamsAISearchOptionsRetrievalRetrievalType` - `const NamespaceSearchParamsAISearchOptionsRetrievalRetrievalTypeVector NamespaceSearchParamsAISearchOptionsRetrievalRetrievalType = "vector"` - `const NamespaceSearchParamsAISearchOptionsRetrievalRetrievalTypeKeyword NamespaceSearchParamsAISearchOptionsRetrievalRetrievalType = "keyword"` - `const NamespaceSearchParamsAISearchOptionsRetrievalRetrievalTypeHybrid NamespaceSearchParamsAISearchOptionsRetrievalRetrievalType = "hybrid"` - `ReturnOnFailure bool` - `Messages param.Field[[]NamespaceSearchParamsMessage]` Body param - `Content string` - `Role NamespaceSearchParamsMessagesRole` - `const NamespaceSearchParamsMessagesRoleSystem NamespaceSearchParamsMessagesRole = "system"` - `const NamespaceSearchParamsMessagesRoleDeveloper NamespaceSearchParamsMessagesRole = "developer"` - `const NamespaceSearchParamsMessagesRoleUser NamespaceSearchParamsMessagesRole = "user"` - `const NamespaceSearchParamsMessagesRoleAssistant NamespaceSearchParamsMessagesRole = "assistant"` - `const NamespaceSearchParamsMessagesRoleTool NamespaceSearchParamsMessagesRole = "tool"` - `Query param.Field[string]` Body param: A simple text query string. Alternative to 'messages' — provide either this or 'messages', not both. ### Returns - `type NamespaceSearchResponse struct{…}` - `Chunks []NamespaceSearchResponseChunk` - `ID string` - `InstanceID string` - `Score float64` - `Text string` - `Type string` - `Item NamespaceSearchResponseChunksItem` - `Key string` - `Metadata map[string, unknown]` - `Timestamp float64` - `ScoringDetails NamespaceSearchResponseChunksScoringDetails` - `FusionMethod NamespaceSearchResponseChunksScoringDetailsFusionMethod` - `const NamespaceSearchResponseChunksScoringDetailsFusionMethodRrf NamespaceSearchResponseChunksScoringDetailsFusionMethod = "rrf"` - `const NamespaceSearchResponseChunksScoringDetailsFusionMethodMax NamespaceSearchResponseChunksScoringDetailsFusionMethod = "max"` - `KeywordRank float64` - `KeywordScore float64` - `RerankingScore float64` - `VectorRank float64` - `VectorScore float64` - `SearchQuery string` - `Errors []NamespaceSearchResponseError` - `InstanceID string` - `Message string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Search( context.TODO(), "my-namespace", ai_search.NamespaceSearchParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), AISearchOptions: cloudflare.F(ai_search.NamespaceSearchParamsAISearchOptions{ InstanceIDs: cloudflare.F([]string{"my-ai-search"}), }), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Chunks) } ``` #### Response ```json { "result": { "chunks": [ { "id": "id", "instance_id": "instance_id", "score": 0, "text": "text", "type": "type", "item": { "key": "key", "metadata": { "foo": "bar" }, "timestamp": 0 }, "scoring_details": { "fusion_method": "rrf", "keyword_rank": 0, "keyword_score": 0, "reranking_score": 0, "vector_rank": 0, "vector_score": 0 } } ], "search_query": "search_query", "errors": [ { "instance_id": "instance_id", "message": "message" } ] }, "success": true } ``` ## Multi-Instance Chat Completions `client.AISearch.Namespaces.ChatCompletions(ctx, name, params) (*NamespaceChatCompletionsResponse, error)` **post** `/accounts/{account_id}/ai-search/namespaces/{name}/chat/completions` Performs a chat completion request against multiple AI Search instances in parallel, merging retrieved content as context for generating a response. ### Parameters - `name string` - `params NamespaceChatCompletionsParams` - `AccountID param.Field[string]` Path param - `AISearchOptions param.Field[NamespaceChatCompletionsParamsAISearchOptions]` Body param - `InstanceIDs []string` - `Cache NamespaceChatCompletionsParamsAISearchOptionsCache` - `CacheThreshold NamespaceChatCompletionsParamsAISearchOptionsCacheCacheThreshold` - `const NamespaceChatCompletionsParamsAISearchOptionsCacheCacheThresholdSuperStrictMatch NamespaceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "super_strict_match"` - `const NamespaceChatCompletionsParamsAISearchOptionsCacheCacheThresholdCloseEnough NamespaceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "close_enough"` - `const NamespaceChatCompletionsParamsAISearchOptionsCacheCacheThresholdFlexibleFriend NamespaceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "flexible_friend"` - `const NamespaceChatCompletionsParamsAISearchOptionsCacheCacheThresholdAnythingGoes NamespaceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "anything_goes"` - `Enabled bool` - `QueryRewrite NamespaceChatCompletionsParamsAISearchOptionsQueryRewrite` - `Enabled bool` - `Model NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfZaiOrgGlm4_7Flash NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2Instruct NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfGoogleGemma3_12bIt NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfGoogleGemma4_26bA4bIt NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2_5 NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_7Sonnet NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaudeSonnet4 NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaudeOpus4 NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_5Haiku NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bThinking NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasLlama3_3_70b NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasGptOSs120b NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Flash NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Pro NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelGrokGrok4 NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "grok/grok-4"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelGroqLlama3_3_70bVersatile NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelGroqLlama3_1_8bInstant NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelOpenAIGpt5 NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Mini NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-mini"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Nano NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-nano"` - `const NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModelEmpty NamespaceChatCompletionsParamsAISearchOptionsQueryRewriteModel = ""` - `RewritePrompt string` - `Reranking NamespaceChatCompletionsParamsAISearchOptionsReranking` - `Enabled bool` - `MatchThreshold float64` - `Model NamespaceChatCompletionsParamsAISearchOptionsRerankingModel` - `const NamespaceChatCompletionsParamsAISearchOptionsRerankingModelCfBaaiBgeRerankerBase NamespaceChatCompletionsParamsAISearchOptionsRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceChatCompletionsParamsAISearchOptionsRerankingModelEmpty NamespaceChatCompletionsParamsAISearchOptionsRerankingModel = ""` - `Retrieval NamespaceChatCompletionsParamsAISearchOptionsRetrieval` - `BoostBy []NamespaceChatCompletionsParamsAISearchOptionsRetrievalBoostBy` Metadata fields to boost search results by. Overrides the instance-level boost_by config. Direction defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionAsc NamespaceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "asc"` - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionDesc NamespaceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "desc"` - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionExists NamespaceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "exists"` - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionNotExists NamespaceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "not_exists"` - `ContextExpansion int64` - `Filters map[string, unknown]` - `FusionMethod NamespaceChatCompletionsParamsAISearchOptionsRetrievalFusionMethod` - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalFusionMethodMax NamespaceChatCompletionsParamsAISearchOptionsRetrievalFusionMethod = "max"` - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalFusionMethodRrf NamespaceChatCompletionsParamsAISearchOptionsRetrievalFusionMethod = "rrf"` - `KeywordMatchMode NamespaceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchModeAnd NamespaceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchMode = "and"` - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchModeOr NamespaceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchMode = "or"` - `MatchThreshold float64` - `MaxNumResults int64` - `RetrievalType NamespaceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType` - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalRetrievalTypeVector NamespaceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType = "vector"` - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalRetrievalTypeKeyword NamespaceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType = "keyword"` - `const NamespaceChatCompletionsParamsAISearchOptionsRetrievalRetrievalTypeHybrid NamespaceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType = "hybrid"` - `ReturnOnFailure bool` - `Messages param.Field[[]NamespaceChatCompletionsParamsMessage]` Body param - `Content string` - `Role NamespaceChatCompletionsParamsMessagesRole` - `const NamespaceChatCompletionsParamsMessagesRoleSystem NamespaceChatCompletionsParamsMessagesRole = "system"` - `const NamespaceChatCompletionsParamsMessagesRoleDeveloper NamespaceChatCompletionsParamsMessagesRole = "developer"` - `const NamespaceChatCompletionsParamsMessagesRoleUser NamespaceChatCompletionsParamsMessagesRole = "user"` - `const NamespaceChatCompletionsParamsMessagesRoleAssistant NamespaceChatCompletionsParamsMessagesRole = "assistant"` - `const NamespaceChatCompletionsParamsMessagesRoleTool NamespaceChatCompletionsParamsMessagesRole = "tool"` - `Model param.Field[NamespaceChatCompletionsParamsModel]` Body param - `const NamespaceChatCompletionsParamsModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceChatCompletionsParamsModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceChatCompletionsParamsModelCfZaiOrgGlm4_7Flash NamespaceChatCompletionsParamsModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceChatCompletionsParamsModelCfMetaLlama3_1_8bInstructFast NamespaceChatCompletionsParamsModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceChatCompletionsParamsModelCfMetaLlama3_1_8bInstructFp8 NamespaceChatCompletionsParamsModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceChatCompletionsParamsModelCfMetaLlama4Scout17b16eInstruct NamespaceChatCompletionsParamsModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceChatCompletionsParamsModelCfQwenQwen3_30bA3bFp8 NamespaceChatCompletionsParamsModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceChatCompletionsParamsModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceChatCompletionsParamsModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceChatCompletionsParamsModelCfMoonshotaiKimiK2Instruct NamespaceChatCompletionsParamsModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceChatCompletionsParamsModelCfGoogleGemma3_12bIt NamespaceChatCompletionsParamsModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceChatCompletionsParamsModelCfGoogleGemma4_26bA4bIt NamespaceChatCompletionsParamsModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceChatCompletionsParamsModelCfMoonshotaiKimiK2_5 NamespaceChatCompletionsParamsModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceChatCompletionsParamsModelAnthropicClaude3_7Sonnet NamespaceChatCompletionsParamsModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceChatCompletionsParamsModelAnthropicClaudeSonnet4 NamespaceChatCompletionsParamsModel = "anthropic/claude-sonnet-4"` - `const NamespaceChatCompletionsParamsModelAnthropicClaudeOpus4 NamespaceChatCompletionsParamsModel = "anthropic/claude-opus-4"` - `const NamespaceChatCompletionsParamsModelAnthropicClaude3_5Haiku NamespaceChatCompletionsParamsModel = "anthropic/claude-3-5-haiku"` - `const NamespaceChatCompletionsParamsModelCerebrasQwen3_235bA22bInstruct NamespaceChatCompletionsParamsModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceChatCompletionsParamsModelCerebrasQwen3_235bA22bThinking NamespaceChatCompletionsParamsModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceChatCompletionsParamsModelCerebrasLlama3_3_70b NamespaceChatCompletionsParamsModel = "cerebras/llama-3.3-70b"` - `const NamespaceChatCompletionsParamsModelCerebrasLlama4Maverick17b128eInstruct NamespaceChatCompletionsParamsModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceChatCompletionsParamsModelCerebrasLlama4Scout17b16eInstruct NamespaceChatCompletionsParamsModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceChatCompletionsParamsModelCerebrasGptOSs120b NamespaceChatCompletionsParamsModel = "cerebras/gpt-oss-120b"` - `const NamespaceChatCompletionsParamsModelGoogleAIStudioGemini2_5Flash NamespaceChatCompletionsParamsModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceChatCompletionsParamsModelGoogleAIStudioGemini2_5Pro NamespaceChatCompletionsParamsModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceChatCompletionsParamsModelGrokGrok4 NamespaceChatCompletionsParamsModel = "grok/grok-4"` - `const NamespaceChatCompletionsParamsModelGroqLlama3_3_70bVersatile NamespaceChatCompletionsParamsModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceChatCompletionsParamsModelGroqLlama3_1_8bInstant NamespaceChatCompletionsParamsModel = "groq/llama-3.1-8b-instant"` - `const NamespaceChatCompletionsParamsModelOpenAIGpt5 NamespaceChatCompletionsParamsModel = "openai/gpt-5"` - `const NamespaceChatCompletionsParamsModelOpenAIGpt5Mini NamespaceChatCompletionsParamsModel = "openai/gpt-5-mini"` - `const NamespaceChatCompletionsParamsModelOpenAIGpt5Nano NamespaceChatCompletionsParamsModel = "openai/gpt-5-nano"` - `const NamespaceChatCompletionsParamsModelEmpty NamespaceChatCompletionsParamsModel = ""` - `Stream param.Field[bool]` Body param ### Returns - `type NamespaceChatCompletionsResponse struct{…}` - `Choices []NamespaceChatCompletionsResponseChoice` - `Message NamespaceChatCompletionsResponseChoicesMessage` - `Content string` - `Role NamespaceChatCompletionsResponseChoicesMessageRole` - `const NamespaceChatCompletionsResponseChoicesMessageRoleSystem NamespaceChatCompletionsResponseChoicesMessageRole = "system"` - `const NamespaceChatCompletionsResponseChoicesMessageRoleDeveloper NamespaceChatCompletionsResponseChoicesMessageRole = "developer"` - `const NamespaceChatCompletionsResponseChoicesMessageRoleUser NamespaceChatCompletionsResponseChoicesMessageRole = "user"` - `const NamespaceChatCompletionsResponseChoicesMessageRoleAssistant NamespaceChatCompletionsResponseChoicesMessageRole = "assistant"` - `const NamespaceChatCompletionsResponseChoicesMessageRoleTool NamespaceChatCompletionsResponseChoicesMessageRole = "tool"` - `Index int64` - `Chunks []NamespaceChatCompletionsResponseChunk` - `ID string` - `InstanceID string` - `Score float64` - `Text string` - `Type string` - `Item NamespaceChatCompletionsResponseChunksItem` - `Key string` - `Metadata map[string, unknown]` - `Timestamp float64` - `ScoringDetails NamespaceChatCompletionsResponseChunksScoringDetails` - `FusionMethod NamespaceChatCompletionsResponseChunksScoringDetailsFusionMethod` - `const NamespaceChatCompletionsResponseChunksScoringDetailsFusionMethodRrf NamespaceChatCompletionsResponseChunksScoringDetailsFusionMethod = "rrf"` - `const NamespaceChatCompletionsResponseChunksScoringDetailsFusionMethodMax NamespaceChatCompletionsResponseChunksScoringDetailsFusionMethod = "max"` - `KeywordRank float64` - `KeywordScore float64` - `RerankingScore float64` - `VectorRank float64` - `VectorScore float64` - `ID string` - `Errors []NamespaceChatCompletionsResponseError` - `InstanceID string` - `Message string` - `Model string` - `Object string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.ChatCompletions( context.TODO(), "my-namespace", ai_search.NamespaceChatCompletionsParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), AISearchOptions: cloudflare.F(ai_search.NamespaceChatCompletionsParamsAISearchOptions{ InstanceIDs: cloudflare.F([]string{"my-ai-search"}), }), Messages: cloudflare.F([]ai_search.NamespaceChatCompletionsParamsMessage{ai_search.NamespaceChatCompletionsParamsMessage{ Content: cloudflare.F("content"), Role: cloudflare.F(ai_search.NamespaceChatCompletionsParamsMessagesRoleSystem), }}), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "choices": [ { "message": { "content": "content", "role": "system" }, "index": 0 } ], "chunks": [ { "id": "id", "instance_id": "instance_id", "score": 0, "text": "text", "type": "type", "item": { "key": "key", "metadata": { "foo": "bar" }, "timestamp": 0 }, "scoring_details": { "fusion_method": "rrf", "keyword_rank": 0, "keyword_score": 0, "reranking_score": 0, "vector_rank": 0, "vector_score": 0 } } ], "id": "id", "errors": [ { "instance_id": "instance_id", "message": "message" } ], "model": "model", "object": "object" } ``` # Instances ## List instances. `client.AISearch.Namespaces.Instances.List(ctx, name, params) (*V4PagePaginationArray[NamespaceInstanceListResponse], error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances` List instances. ### Parameters - `name string` - `params NamespaceInstanceListParams` - `AccountID param.Field[string]` Path param - `Namespace param.Field[string]` Query param: Filter by namespace. - `OrderBy param.Field[NamespaceInstanceListParamsOrderBy]` Query param: Field to order results by. - `const NamespaceInstanceListParamsOrderByCreatedAt NamespaceInstanceListParamsOrderBy = "created_at"` - `OrderByDirection param.Field[NamespaceInstanceListParamsOrderByDirection]` Query param: Order direction. - `const NamespaceInstanceListParamsOrderByDirectionAsc NamespaceInstanceListParamsOrderByDirection = "asc"` - `const NamespaceInstanceListParamsOrderByDirectionDesc NamespaceInstanceListParamsOrderByDirection = "desc"` - `Page param.Field[int64]` Query param: Page number (1-indexed). - `PerPage param.Field[int64]` Query param: Number of results per page. - `Search param.Field[string]` Query param: Filter instances whose id contains this string (case-insensitive). ### Returns - `type NamespaceInstanceListResponse struct{…}` - `ID string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `CreatedAt Time` - `ModifiedAt Time` - `AIGatewayID string` - `AISearchModel NamespaceInstanceListResponseAISearchModel` - `const NamespaceInstanceListResponseAISearchModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceListResponseAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceListResponseAISearchModelCfZaiOrgGlm4_7Flash NamespaceInstanceListResponseAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceListResponseAISearchModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceListResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceListResponseAISearchModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceListResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceListResponseAISearchModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceListResponseAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceListResponseAISearchModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceListResponseAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceListResponseAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceListResponseAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceListResponseAISearchModelCfMoonshotaiKimiK2Instruct NamespaceInstanceListResponseAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceListResponseAISearchModelCfGoogleGemma3_12bIt NamespaceInstanceListResponseAISearchModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceListResponseAISearchModelCfGoogleGemma4_26bA4bIt NamespaceInstanceListResponseAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceListResponseAISearchModelCfMoonshotaiKimiK2_5 NamespaceInstanceListResponseAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceListResponseAISearchModelAnthropicClaude3_7Sonnet NamespaceInstanceListResponseAISearchModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceListResponseAISearchModelAnthropicClaudeSonnet4 NamespaceInstanceListResponseAISearchModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceListResponseAISearchModelAnthropicClaudeOpus4 NamespaceInstanceListResponseAISearchModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceListResponseAISearchModelAnthropicClaude3_5Haiku NamespaceInstanceListResponseAISearchModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceListResponseAISearchModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceListResponseAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceListResponseAISearchModelCerebrasQwen3_235bA22bThinking NamespaceInstanceListResponseAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceListResponseAISearchModelCerebrasLlama3_3_70b NamespaceInstanceListResponseAISearchModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceListResponseAISearchModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceListResponseAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceListResponseAISearchModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceListResponseAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceListResponseAISearchModelCerebrasGptOSs120b NamespaceInstanceListResponseAISearchModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceListResponseAISearchModelGoogleAIStudioGemini2_5Flash NamespaceInstanceListResponseAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceListResponseAISearchModelGoogleAIStudioGemini2_5Pro NamespaceInstanceListResponseAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceListResponseAISearchModelGrokGrok4 NamespaceInstanceListResponseAISearchModel = "grok/grok-4"` - `const NamespaceInstanceListResponseAISearchModelGroqLlama3_3_70bVersatile NamespaceInstanceListResponseAISearchModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceListResponseAISearchModelGroqLlama3_1_8bInstant NamespaceInstanceListResponseAISearchModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceListResponseAISearchModelOpenAIGpt5 NamespaceInstanceListResponseAISearchModel = "openai/gpt-5"` - `const NamespaceInstanceListResponseAISearchModelOpenAIGpt5Mini NamespaceInstanceListResponseAISearchModel = "openai/gpt-5-mini"` - `const NamespaceInstanceListResponseAISearchModelOpenAIGpt5Nano NamespaceInstanceListResponseAISearchModel = "openai/gpt-5-nano"` - `const NamespaceInstanceListResponseAISearchModelEmpty NamespaceInstanceListResponseAISearchModel = ""` - `Cache bool` - `CacheThreshold NamespaceInstanceListResponseCacheThreshold` - `const NamespaceInstanceListResponseCacheThresholdSuperStrictMatch NamespaceInstanceListResponseCacheThreshold = "super_strict_match"` - `const NamespaceInstanceListResponseCacheThresholdCloseEnough NamespaceInstanceListResponseCacheThreshold = "close_enough"` - `const NamespaceInstanceListResponseCacheThresholdFlexibleFriend NamespaceInstanceListResponseCacheThreshold = "flexible_friend"` - `const NamespaceInstanceListResponseCacheThresholdAnythingGoes NamespaceInstanceListResponseCacheThreshold = "anything_goes"` - `CacheTTL NamespaceInstanceListResponseCacheTTL` Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). - `const NamespaceInstanceListResponseCacheTTL600 NamespaceInstanceListResponseCacheTTL = 600` - `const NamespaceInstanceListResponseCacheTTL1800 NamespaceInstanceListResponseCacheTTL = 1800` - `const NamespaceInstanceListResponseCacheTTL3600 NamespaceInstanceListResponseCacheTTL = 3600` - `const NamespaceInstanceListResponseCacheTTL7200 NamespaceInstanceListResponseCacheTTL = 7200` - `const NamespaceInstanceListResponseCacheTTL21600 NamespaceInstanceListResponseCacheTTL = 21600` - `const NamespaceInstanceListResponseCacheTTL43200 NamespaceInstanceListResponseCacheTTL = 43200` - `const NamespaceInstanceListResponseCacheTTL86400 NamespaceInstanceListResponseCacheTTL = 86400` - `const NamespaceInstanceListResponseCacheTTL172800 NamespaceInstanceListResponseCacheTTL = 172800` - `const NamespaceInstanceListResponseCacheTTL259200 NamespaceInstanceListResponseCacheTTL = 259200` - `const NamespaceInstanceListResponseCacheTTL518400 NamespaceInstanceListResponseCacheTTL = 518400` - `ChunkOverlap int64` - `ChunkSize int64` - `CreatedBy string` - `CustomMetadata []NamespaceInstanceListResponseCustomMetadata` - `DataType NamespaceInstanceListResponseCustomMetadataDataType` - `const NamespaceInstanceListResponseCustomMetadataDataTypeText NamespaceInstanceListResponseCustomMetadataDataType = "text"` - `const NamespaceInstanceListResponseCustomMetadataDataTypeNumber NamespaceInstanceListResponseCustomMetadataDataType = "number"` - `const NamespaceInstanceListResponseCustomMetadataDataTypeBoolean NamespaceInstanceListResponseCustomMetadataDataType = "boolean"` - `const NamespaceInstanceListResponseCustomMetadataDataTypeDatetime NamespaceInstanceListResponseCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel NamespaceInstanceListResponseEmbeddingModel` - `const NamespaceInstanceListResponseEmbeddingModelCfQwenQwen3Embedding0_6b NamespaceInstanceListResponseEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const NamespaceInstanceListResponseEmbeddingModelCfBaaiBgeM3 NamespaceInstanceListResponseEmbeddingModel = "@cf/baai/bge-m3"` - `const NamespaceInstanceListResponseEmbeddingModelCfBaaiBgeLargeEnV1_5 NamespaceInstanceListResponseEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const NamespaceInstanceListResponseEmbeddingModelCfGoogleEmbeddinggemma300m NamespaceInstanceListResponseEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const NamespaceInstanceListResponseEmbeddingModelGoogleAIStudioGeminiEmbedding001 NamespaceInstanceListResponseEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const NamespaceInstanceListResponseEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview NamespaceInstanceListResponseEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const NamespaceInstanceListResponseEmbeddingModelOpenAITextEmbedding3Small NamespaceInstanceListResponseEmbeddingModel = "openai/text-embedding-3-small"` - `const NamespaceInstanceListResponseEmbeddingModelOpenAITextEmbedding3Large NamespaceInstanceListResponseEmbeddingModel = "openai/text-embedding-3-large"` - `const NamespaceInstanceListResponseEmbeddingModelEmpty NamespaceInstanceListResponseEmbeddingModel = ""` - `Enable bool` - `EngineVersion float64` - `FusionMethod NamespaceInstanceListResponseFusionMethod` - `const NamespaceInstanceListResponseFusionMethodMax NamespaceInstanceListResponseFusionMethod = "max"` - `const NamespaceInstanceListResponseFusionMethodRrf NamespaceInstanceListResponseFusionMethod = "rrf"` - `HybridSearchEnabled bool` Deprecated — use index_method instead. - `IndexMethod NamespaceInstanceListResponseIndexMethod` Controls which storage backends are used during indexing. Defaults to vector-only. - `Keyword bool` Enable keyword (BM25) storage backend. - `Vector bool` Enable vector (embedding) storage backend. - `IndexingOptions NamespaceInstanceListResponseIndexingOptions` - `KeywordTokenizer NamespaceInstanceListResponseIndexingOptionsKeywordTokenizer` Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. - `const NamespaceInstanceListResponseIndexingOptionsKeywordTokenizerPorter NamespaceInstanceListResponseIndexingOptionsKeywordTokenizer = "porter"` - `const NamespaceInstanceListResponseIndexingOptionsKeywordTokenizerTrigram NamespaceInstanceListResponseIndexingOptionsKeywordTokenizer = "trigram"` - `LastActivity Time` - `MaxNumResults int64` - `Metadata NamespaceInstanceListResponseMetadata` - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `ModifiedBy string` - `Namespace string` - `Paused bool` - `PublicEndpointID string` - `PublicEndpointParams NamespaceInstanceListResponsePublicEndpointParams` - `AuthorizedHosts []string` - `ChatCompletionsEndpoint NamespaceInstanceListResponsePublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp NamespaceInstanceListResponsePublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit NamespaceInstanceListResponsePublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique NamespaceInstanceListResponsePublicEndpointParamsRateLimitTechnique` - `const NamespaceInstanceListResponsePublicEndpointParamsRateLimitTechniqueFixed NamespaceInstanceListResponsePublicEndpointParamsRateLimitTechnique = "fixed"` - `const NamespaceInstanceListResponsePublicEndpointParamsRateLimitTechniqueSliding NamespaceInstanceListResponsePublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint NamespaceInstanceListResponsePublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking bool` - `RerankingModel NamespaceInstanceListResponseRerankingModel` - `const NamespaceInstanceListResponseRerankingModelCfBaaiBgeRerankerBase NamespaceInstanceListResponseRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceInstanceListResponseRerankingModelEmpty NamespaceInstanceListResponseRerankingModel = ""` - `RetrievalOptions NamespaceInstanceListResponseRetrievalOptions` - `BoostBy []NamespaceInstanceListResponseRetrievalOptionsBoostBy` Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceInstanceListResponseRetrievalOptionsBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceInstanceListResponseRetrievalOptionsBoostByDirectionAsc NamespaceInstanceListResponseRetrievalOptionsBoostByDirection = "asc"` - `const NamespaceInstanceListResponseRetrievalOptionsBoostByDirectionDesc NamespaceInstanceListResponseRetrievalOptionsBoostByDirection = "desc"` - `const NamespaceInstanceListResponseRetrievalOptionsBoostByDirectionExists NamespaceInstanceListResponseRetrievalOptionsBoostByDirection = "exists"` - `const NamespaceInstanceListResponseRetrievalOptionsBoostByDirectionNotExists NamespaceInstanceListResponseRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode NamespaceInstanceListResponseRetrievalOptionsKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceInstanceListResponseRetrievalOptionsKeywordMatchModeAnd NamespaceInstanceListResponseRetrievalOptionsKeywordMatchMode = "and"` - `const NamespaceInstanceListResponseRetrievalOptionsKeywordMatchModeOr NamespaceInstanceListResponseRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel NamespaceInstanceListResponseRewriteModel` - `const NamespaceInstanceListResponseRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceListResponseRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceListResponseRewriteModelCfZaiOrgGlm4_7Flash NamespaceInstanceListResponseRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceListResponseRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceListResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceListResponseRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceListResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceListResponseRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceListResponseRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceListResponseRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceListResponseRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceListResponseRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceListResponseRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceListResponseRewriteModelCfMoonshotaiKimiK2Instruct NamespaceInstanceListResponseRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceListResponseRewriteModelCfGoogleGemma3_12bIt NamespaceInstanceListResponseRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceListResponseRewriteModelCfGoogleGemma4_26bA4bIt NamespaceInstanceListResponseRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceListResponseRewriteModelCfMoonshotaiKimiK2_5 NamespaceInstanceListResponseRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceListResponseRewriteModelAnthropicClaude3_7Sonnet NamespaceInstanceListResponseRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceListResponseRewriteModelAnthropicClaudeSonnet4 NamespaceInstanceListResponseRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceListResponseRewriteModelAnthropicClaudeOpus4 NamespaceInstanceListResponseRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceListResponseRewriteModelAnthropicClaude3_5Haiku NamespaceInstanceListResponseRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceListResponseRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceListResponseRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceListResponseRewriteModelCerebrasQwen3_235bA22bThinking NamespaceInstanceListResponseRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceListResponseRewriteModelCerebrasLlama3_3_70b NamespaceInstanceListResponseRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceListResponseRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceListResponseRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceListResponseRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceListResponseRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceListResponseRewriteModelCerebrasGptOSs120b NamespaceInstanceListResponseRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceListResponseRewriteModelGoogleAIStudioGemini2_5Flash NamespaceInstanceListResponseRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceListResponseRewriteModelGoogleAIStudioGemini2_5Pro NamespaceInstanceListResponseRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceListResponseRewriteModelGrokGrok4 NamespaceInstanceListResponseRewriteModel = "grok/grok-4"` - `const NamespaceInstanceListResponseRewriteModelGroqLlama3_3_70bVersatile NamespaceInstanceListResponseRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceListResponseRewriteModelGroqLlama3_1_8bInstant NamespaceInstanceListResponseRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceListResponseRewriteModelOpenAIGpt5 NamespaceInstanceListResponseRewriteModel = "openai/gpt-5"` - `const NamespaceInstanceListResponseRewriteModelOpenAIGpt5Mini NamespaceInstanceListResponseRewriteModel = "openai/gpt-5-mini"` - `const NamespaceInstanceListResponseRewriteModelOpenAIGpt5Nano NamespaceInstanceListResponseRewriteModel = "openai/gpt-5-nano"` - `const NamespaceInstanceListResponseRewriteModelEmpty NamespaceInstanceListResponseRewriteModel = ""` - `RewriteQuery bool` - `ScoreThreshold float64` - `Source string` - `SourceParams NamespaceInstanceListResponseSourceParams` - `ExcludeItems []string` List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) - `IncludeItems []string` List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) - `Prefix string` - `R2Jurisdiction string` - `WebCrawler NamespaceInstanceListResponseSourceParamsWebCrawler` - `CrawlOptions NamespaceInstanceListResponseSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source NamespaceInstanceListResponseSourceParamsWebCrawlerCrawlOptionsSource` - `const NamespaceInstanceListResponseSourceParamsWebCrawlerCrawlOptionsSourceAll NamespaceInstanceListResponseSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const NamespaceInstanceListResponseSourceParamsWebCrawlerCrawlOptionsSourceSitemaps NamespaceInstanceListResponseSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const NamespaceInstanceListResponseSourceParamsWebCrawlerCrawlOptionsSourceLinks NamespaceInstanceListResponseSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions NamespaceInstanceListResponseSourceParamsWebCrawlerParseOptions` - `ContentSelector []NamespaceInstanceListResponseSourceParamsWebCrawlerParseOptionsContentSelector` List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. - `Path string` Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories. - `Selector string` CSS selector to extract content from pages matching the path pattern. Must not contain disallowed characters (;, `, $, {, }, ). Must target a single element; if multiple elements match, the selector is ignored and the full page is used. - `IncludeHeaders map[string, string]` Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). - `IncludeImages bool` - `SpecificSitemaps []string` List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. - `UseBrowserRendering bool` - `ParseType NamespaceInstanceListResponseSourceParamsWebCrawlerParseType` - `const NamespaceInstanceListResponseSourceParamsWebCrawlerParseTypeSitemap NamespaceInstanceListResponseSourceParamsWebCrawlerParseType = "sitemap"` - `const NamespaceInstanceListResponseSourceParamsWebCrawlerParseTypeFeedRss NamespaceInstanceListResponseSourceParamsWebCrawlerParseType = "feed-rss"` - `const NamespaceInstanceListResponseSourceParamsWebCrawlerParseTypeCrawl NamespaceInstanceListResponseSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions NamespaceInstanceListResponseSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Status string` - `SyncInterval NamespaceInstanceListResponseSyncInterval` Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). - `const NamespaceInstanceListResponseSyncInterval900 NamespaceInstanceListResponseSyncInterval = 900` - `const NamespaceInstanceListResponseSyncInterval1800 NamespaceInstanceListResponseSyncInterval = 1800` - `const NamespaceInstanceListResponseSyncInterval3600 NamespaceInstanceListResponseSyncInterval = 3600` - `const NamespaceInstanceListResponseSyncInterval7200 NamespaceInstanceListResponseSyncInterval = 7200` - `const NamespaceInstanceListResponseSyncInterval14400 NamespaceInstanceListResponseSyncInterval = 14400` - `const NamespaceInstanceListResponseSyncInterval21600 NamespaceInstanceListResponseSyncInterval = 21600` - `const NamespaceInstanceListResponseSyncInterval43200 NamespaceInstanceListResponseSyncInterval = 43200` - `const NamespaceInstanceListResponseSyncInterval86400 NamespaceInstanceListResponseSyncInterval = 86400` - `TokenID string` - `Type NamespaceInstanceListResponseType` - `const NamespaceInstanceListResponseTypeR2 NamespaceInstanceListResponseType = "r2"` - `const NamespaceInstanceListResponseTypeWebCrawler NamespaceInstanceListResponseType = "web-crawler"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.AISearch.Namespaces.Instances.List( context.TODO(), "my-namespace", ai_search.NamespaceInstanceListParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "result": [ { "id": "my-ai-search", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "ai_gateway_id": "ai_gateway_id", "ai_search_model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", "cache": true, "cache_threshold": "super_strict_match", "cache_ttl": 600, "chunk_overlap": 0, "chunk_size": 64, "created_by": "created_by", "custom_metadata": [ { "data_type": "text", "field_name": "x" } ], "embedding_model": "@cf/qwen/qwen3-embedding-0.6b", "enable": true, "engine_version": 0, "fusion_method": "max", "hybrid_search_enabled": true, "index_method": { "keyword": true, "vector": true }, "indexing_options": { "keyword_tokenizer": "porter" }, "last_activity": "2019-12-27T18:11:19.117Z", "max_num_results": 1, "metadata": { "created_from_aisearch_wizard": true, "worker_domain": "worker_domain" }, "modified_by": "modified_by", "namespace": "namespace", "paused": true, "public_endpoint_id": "public_endpoint_id", "public_endpoint_params": { "authorized_hosts": [ "string" ], "chat_completions_endpoint": { "disabled": true }, "enabled": true, "mcp": { "description": "description", "disabled": true }, "rate_limit": { "period_ms": 60000, "requests": 1, "technique": "fixed" }, "search_endpoint": { "disabled": true } }, "reranking": true, "reranking_model": "@cf/baai/bge-reranker-base", "retrieval_options": { "boost_by": [ { "field": "timestamp", "direction": "desc" } ], "keyword_match_mode": "and" }, "rewrite_model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", "rewrite_query": true, "score_threshold": 0, "source": "source", "source_params": { "exclude_items": [ "/admin/**", "/private/**", "**\\temp\\**" ], "include_items": [ "/blog/**", "/docs/**/*.html", "**\\blog\\**.html" ], "prefix": "prefix", "r2_jurisdiction": "r2_jurisdiction", "web_crawler": { "crawl_options": { "depth": 1, "include_external_links": true, "include_subdomains": true, "max_age": 0, "source": "all" }, "parse_options": { "content_selector": [ { "path": "**/blog/**", "selector": "article div.post-body" }, { "path": "**/docs/**", "selector": "main" } ], "include_headers": { "cache-control": "no-cache, no-store" }, "include_images": true, "specific_sitemaps": [ "https://example.com/sitemap.xml", "https://example.com/blog-sitemap.xml" ], "use_browser_rendering": true }, "parse_type": "sitemap", "store_options": { "storage_id": "storage_id", "r2_jurisdiction": "r2_jurisdiction", "storage_type": "r2" } } }, "status": "status", "sync_interval": 900, "token_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "type": "r2" } ], "result_info": { "count": 0, "page": 0, "per_page": 0, "total_count": 0 }, "success": true } ``` ## Create new instance. `client.AISearch.Namespaces.Instances.New(ctx, name, params) (*NamespaceInstanceNewResponse, error)` **post** `/accounts/{account_id}/ai-search/namespaces/{name}/instances` Create a new instance. ### Parameters - `name string` - `params NamespaceInstanceNewParams` - `AccountID param.Field[string]` Path param - `ID param.Field[string]` Body param: AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `AIGatewayID param.Field[string]` Body param - `AISearchModel param.Field[NamespaceInstanceNewParamsAISearchModel]` Body param - `const NamespaceInstanceNewParamsAISearchModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceNewParamsAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceNewParamsAISearchModelCfZaiOrgGlm4_7Flash NamespaceInstanceNewParamsAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceNewParamsAISearchModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceNewParamsAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceNewParamsAISearchModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceNewParamsAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceNewParamsAISearchModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceNewParamsAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceNewParamsAISearchModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceNewParamsAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceNewParamsAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceNewParamsAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceNewParamsAISearchModelCfMoonshotaiKimiK2Instruct NamespaceInstanceNewParamsAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceNewParamsAISearchModelCfGoogleGemma3_12bIt NamespaceInstanceNewParamsAISearchModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceNewParamsAISearchModelCfGoogleGemma4_26bA4bIt NamespaceInstanceNewParamsAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceNewParamsAISearchModelCfMoonshotaiKimiK2_5 NamespaceInstanceNewParamsAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceNewParamsAISearchModelAnthropicClaude3_7Sonnet NamespaceInstanceNewParamsAISearchModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceNewParamsAISearchModelAnthropicClaudeSonnet4 NamespaceInstanceNewParamsAISearchModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceNewParamsAISearchModelAnthropicClaudeOpus4 NamespaceInstanceNewParamsAISearchModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceNewParamsAISearchModelAnthropicClaude3_5Haiku NamespaceInstanceNewParamsAISearchModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceNewParamsAISearchModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceNewParamsAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceNewParamsAISearchModelCerebrasQwen3_235bA22bThinking NamespaceInstanceNewParamsAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceNewParamsAISearchModelCerebrasLlama3_3_70b NamespaceInstanceNewParamsAISearchModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceNewParamsAISearchModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceNewParamsAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceNewParamsAISearchModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceNewParamsAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceNewParamsAISearchModelCerebrasGptOSs120b NamespaceInstanceNewParamsAISearchModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceNewParamsAISearchModelGoogleAIStudioGemini2_5Flash NamespaceInstanceNewParamsAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceNewParamsAISearchModelGoogleAIStudioGemini2_5Pro NamespaceInstanceNewParamsAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceNewParamsAISearchModelGrokGrok4 NamespaceInstanceNewParamsAISearchModel = "grok/grok-4"` - `const NamespaceInstanceNewParamsAISearchModelGroqLlama3_3_70bVersatile NamespaceInstanceNewParamsAISearchModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceNewParamsAISearchModelGroqLlama3_1_8bInstant NamespaceInstanceNewParamsAISearchModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceNewParamsAISearchModelOpenAIGpt5 NamespaceInstanceNewParamsAISearchModel = "openai/gpt-5"` - `const NamespaceInstanceNewParamsAISearchModelOpenAIGpt5Mini NamespaceInstanceNewParamsAISearchModel = "openai/gpt-5-mini"` - `const NamespaceInstanceNewParamsAISearchModelOpenAIGpt5Nano NamespaceInstanceNewParamsAISearchModel = "openai/gpt-5-nano"` - `const NamespaceInstanceNewParamsAISearchModelEmpty NamespaceInstanceNewParamsAISearchModel = ""` - `Cache param.Field[bool]` Body param - `CacheThreshold param.Field[NamespaceInstanceNewParamsCacheThreshold]` Body param - `const NamespaceInstanceNewParamsCacheThresholdSuperStrictMatch NamespaceInstanceNewParamsCacheThreshold = "super_strict_match"` - `const NamespaceInstanceNewParamsCacheThresholdCloseEnough NamespaceInstanceNewParamsCacheThreshold = "close_enough"` - `const NamespaceInstanceNewParamsCacheThresholdFlexibleFriend NamespaceInstanceNewParamsCacheThreshold = "flexible_friend"` - `const NamespaceInstanceNewParamsCacheThresholdAnythingGoes NamespaceInstanceNewParamsCacheThreshold = "anything_goes"` - `CacheTTL param.Field[NamespaceInstanceNewParamsCacheTTL]` Body param: Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). - `const NamespaceInstanceNewParamsCacheTTL600 NamespaceInstanceNewParamsCacheTTL = 600` - `const NamespaceInstanceNewParamsCacheTTL1800 NamespaceInstanceNewParamsCacheTTL = 1800` - `const NamespaceInstanceNewParamsCacheTTL3600 NamespaceInstanceNewParamsCacheTTL = 3600` - `const NamespaceInstanceNewParamsCacheTTL7200 NamespaceInstanceNewParamsCacheTTL = 7200` - `const NamespaceInstanceNewParamsCacheTTL21600 NamespaceInstanceNewParamsCacheTTL = 21600` - `const NamespaceInstanceNewParamsCacheTTL43200 NamespaceInstanceNewParamsCacheTTL = 43200` - `const NamespaceInstanceNewParamsCacheTTL86400 NamespaceInstanceNewParamsCacheTTL = 86400` - `const NamespaceInstanceNewParamsCacheTTL172800 NamespaceInstanceNewParamsCacheTTL = 172800` - `const NamespaceInstanceNewParamsCacheTTL259200 NamespaceInstanceNewParamsCacheTTL = 259200` - `const NamespaceInstanceNewParamsCacheTTL518400 NamespaceInstanceNewParamsCacheTTL = 518400` - `Chunk param.Field[bool]` Body param - `ChunkOverlap param.Field[int64]` Body param - `ChunkSize param.Field[int64]` Body param - `CustomMetadata param.Field[[]NamespaceInstanceNewParamsCustomMetadata]` Body param - `DataType NamespaceInstanceNewParamsCustomMetadataDataType` - `const NamespaceInstanceNewParamsCustomMetadataDataTypeText NamespaceInstanceNewParamsCustomMetadataDataType = "text"` - `const NamespaceInstanceNewParamsCustomMetadataDataTypeNumber NamespaceInstanceNewParamsCustomMetadataDataType = "number"` - `const NamespaceInstanceNewParamsCustomMetadataDataTypeBoolean NamespaceInstanceNewParamsCustomMetadataDataType = "boolean"` - `const NamespaceInstanceNewParamsCustomMetadataDataTypeDatetime NamespaceInstanceNewParamsCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel param.Field[NamespaceInstanceNewParamsEmbeddingModel]` Body param - `const NamespaceInstanceNewParamsEmbeddingModelCfQwenQwen3Embedding0_6b NamespaceInstanceNewParamsEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const NamespaceInstanceNewParamsEmbeddingModelCfBaaiBgeM3 NamespaceInstanceNewParamsEmbeddingModel = "@cf/baai/bge-m3"` - `const NamespaceInstanceNewParamsEmbeddingModelCfBaaiBgeLargeEnV1_5 NamespaceInstanceNewParamsEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const NamespaceInstanceNewParamsEmbeddingModelCfGoogleEmbeddinggemma300m NamespaceInstanceNewParamsEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const NamespaceInstanceNewParamsEmbeddingModelGoogleAIStudioGeminiEmbedding001 NamespaceInstanceNewParamsEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const NamespaceInstanceNewParamsEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview NamespaceInstanceNewParamsEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const NamespaceInstanceNewParamsEmbeddingModelOpenAITextEmbedding3Small NamespaceInstanceNewParamsEmbeddingModel = "openai/text-embedding-3-small"` - `const NamespaceInstanceNewParamsEmbeddingModelOpenAITextEmbedding3Large NamespaceInstanceNewParamsEmbeddingModel = "openai/text-embedding-3-large"` - `const NamespaceInstanceNewParamsEmbeddingModelEmpty NamespaceInstanceNewParamsEmbeddingModel = ""` - `FusionMethod param.Field[NamespaceInstanceNewParamsFusionMethod]` Body param - `const NamespaceInstanceNewParamsFusionMethodMax NamespaceInstanceNewParamsFusionMethod = "max"` - `const NamespaceInstanceNewParamsFusionMethodRrf NamespaceInstanceNewParamsFusionMethod = "rrf"` - `HybridSearchEnabled param.Field[bool]` Body param: Deprecated — use index_method instead. - `IndexMethod param.Field[NamespaceInstanceNewParamsIndexMethod]` Body param: Controls which storage backends are used during indexing. Defaults to vector-only. - `Keyword bool` Enable keyword (BM25) storage backend. - `Vector bool` Enable vector (embedding) storage backend. - `IndexingOptions param.Field[NamespaceInstanceNewParamsIndexingOptions]` Body param - `KeywordTokenizer NamespaceInstanceNewParamsIndexingOptionsKeywordTokenizer` Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. - `const NamespaceInstanceNewParamsIndexingOptionsKeywordTokenizerPorter NamespaceInstanceNewParamsIndexingOptionsKeywordTokenizer = "porter"` - `const NamespaceInstanceNewParamsIndexingOptionsKeywordTokenizerTrigram NamespaceInstanceNewParamsIndexingOptionsKeywordTokenizer = "trigram"` - `MaxNumResults param.Field[int64]` Body param - `Metadata param.Field[NamespaceInstanceNewParamsMetadata]` Body param - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `PublicEndpointParams param.Field[NamespaceInstanceNewParamsPublicEndpointParams]` Body param - `AuthorizedHosts []string` - `ChatCompletionsEndpoint NamespaceInstanceNewParamsPublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp NamespaceInstanceNewParamsPublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit NamespaceInstanceNewParamsPublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique NamespaceInstanceNewParamsPublicEndpointParamsRateLimitTechnique` - `const NamespaceInstanceNewParamsPublicEndpointParamsRateLimitTechniqueFixed NamespaceInstanceNewParamsPublicEndpointParamsRateLimitTechnique = "fixed"` - `const NamespaceInstanceNewParamsPublicEndpointParamsRateLimitTechniqueSliding NamespaceInstanceNewParamsPublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint NamespaceInstanceNewParamsPublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking param.Field[bool]` Body param - `RerankingModel param.Field[NamespaceInstanceNewParamsRerankingModel]` Body param - `const NamespaceInstanceNewParamsRerankingModelCfBaaiBgeRerankerBase NamespaceInstanceNewParamsRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceInstanceNewParamsRerankingModelEmpty NamespaceInstanceNewParamsRerankingModel = ""` - `RetrievalOptions param.Field[NamespaceInstanceNewParamsRetrievalOptions]` Body param - `BoostBy []NamespaceInstanceNewParamsRetrievalOptionsBoostBy` Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceInstanceNewParamsRetrievalOptionsBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceInstanceNewParamsRetrievalOptionsBoostByDirectionAsc NamespaceInstanceNewParamsRetrievalOptionsBoostByDirection = "asc"` - `const NamespaceInstanceNewParamsRetrievalOptionsBoostByDirectionDesc NamespaceInstanceNewParamsRetrievalOptionsBoostByDirection = "desc"` - `const NamespaceInstanceNewParamsRetrievalOptionsBoostByDirectionExists NamespaceInstanceNewParamsRetrievalOptionsBoostByDirection = "exists"` - `const NamespaceInstanceNewParamsRetrievalOptionsBoostByDirectionNotExists NamespaceInstanceNewParamsRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode NamespaceInstanceNewParamsRetrievalOptionsKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceInstanceNewParamsRetrievalOptionsKeywordMatchModeAnd NamespaceInstanceNewParamsRetrievalOptionsKeywordMatchMode = "and"` - `const NamespaceInstanceNewParamsRetrievalOptionsKeywordMatchModeOr NamespaceInstanceNewParamsRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel param.Field[NamespaceInstanceNewParamsRewriteModel]` Body param - `const NamespaceInstanceNewParamsRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceNewParamsRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceNewParamsRewriteModelCfZaiOrgGlm4_7Flash NamespaceInstanceNewParamsRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceNewParamsRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceNewParamsRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceNewParamsRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceNewParamsRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceNewParamsRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceNewParamsRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceNewParamsRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceNewParamsRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceNewParamsRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceNewParamsRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceNewParamsRewriteModelCfMoonshotaiKimiK2Instruct NamespaceInstanceNewParamsRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceNewParamsRewriteModelCfGoogleGemma3_12bIt NamespaceInstanceNewParamsRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceNewParamsRewriteModelCfGoogleGemma4_26bA4bIt NamespaceInstanceNewParamsRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceNewParamsRewriteModelCfMoonshotaiKimiK2_5 NamespaceInstanceNewParamsRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceNewParamsRewriteModelAnthropicClaude3_7Sonnet NamespaceInstanceNewParamsRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceNewParamsRewriteModelAnthropicClaudeSonnet4 NamespaceInstanceNewParamsRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceNewParamsRewriteModelAnthropicClaudeOpus4 NamespaceInstanceNewParamsRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceNewParamsRewriteModelAnthropicClaude3_5Haiku NamespaceInstanceNewParamsRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceNewParamsRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceNewParamsRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceNewParamsRewriteModelCerebrasQwen3_235bA22bThinking NamespaceInstanceNewParamsRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceNewParamsRewriteModelCerebrasLlama3_3_70b NamespaceInstanceNewParamsRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceNewParamsRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceNewParamsRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceNewParamsRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceNewParamsRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceNewParamsRewriteModelCerebrasGptOSs120b NamespaceInstanceNewParamsRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceNewParamsRewriteModelGoogleAIStudioGemini2_5Flash NamespaceInstanceNewParamsRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceNewParamsRewriteModelGoogleAIStudioGemini2_5Pro NamespaceInstanceNewParamsRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceNewParamsRewriteModelGrokGrok4 NamespaceInstanceNewParamsRewriteModel = "grok/grok-4"` - `const NamespaceInstanceNewParamsRewriteModelGroqLlama3_3_70bVersatile NamespaceInstanceNewParamsRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceNewParamsRewriteModelGroqLlama3_1_8bInstant NamespaceInstanceNewParamsRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceNewParamsRewriteModelOpenAIGpt5 NamespaceInstanceNewParamsRewriteModel = "openai/gpt-5"` - `const NamespaceInstanceNewParamsRewriteModelOpenAIGpt5Mini NamespaceInstanceNewParamsRewriteModel = "openai/gpt-5-mini"` - `const NamespaceInstanceNewParamsRewriteModelOpenAIGpt5Nano NamespaceInstanceNewParamsRewriteModel = "openai/gpt-5-nano"` - `const NamespaceInstanceNewParamsRewriteModelEmpty NamespaceInstanceNewParamsRewriteModel = ""` - `RewriteQuery param.Field[bool]` Body param - `ScoreThreshold param.Field[float64]` Body param - `Source param.Field[string]` Body param - `SourceParams param.Field[NamespaceInstanceNewParamsSourceParams]` Body param - `ExcludeItems []string` List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) - `IncludeItems []string` List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) - `Prefix string` - `R2Jurisdiction string` - `WebCrawler NamespaceInstanceNewParamsSourceParamsWebCrawler` - `CrawlOptions NamespaceInstanceNewParamsSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source NamespaceInstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSource` - `const NamespaceInstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSourceAll NamespaceInstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const NamespaceInstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSourceSitemaps NamespaceInstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const NamespaceInstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSourceLinks NamespaceInstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions NamespaceInstanceNewParamsSourceParamsWebCrawlerParseOptions` - `ContentSelector []NamespaceInstanceNewParamsSourceParamsWebCrawlerParseOptionsContentSelector` List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. - `Path string` Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories. - `Selector string` CSS selector to extract content from pages matching the path pattern. Must not contain disallowed characters (;, `, $, {, }, ). Must target a single element; if multiple elements match, the selector is ignored and the full page is used. - `IncludeHeaders map[string, string]` Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). - `IncludeImages bool` - `SpecificSitemaps []string` List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. - `UseBrowserRendering bool` - `ParseType NamespaceInstanceNewParamsSourceParamsWebCrawlerParseType` - `const NamespaceInstanceNewParamsSourceParamsWebCrawlerParseTypeSitemap NamespaceInstanceNewParamsSourceParamsWebCrawlerParseType = "sitemap"` - `const NamespaceInstanceNewParamsSourceParamsWebCrawlerParseTypeFeedRss NamespaceInstanceNewParamsSourceParamsWebCrawlerParseType = "feed-rss"` - `const NamespaceInstanceNewParamsSourceParamsWebCrawlerParseTypeCrawl NamespaceInstanceNewParamsSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions NamespaceInstanceNewParamsSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `SyncInterval param.Field[NamespaceInstanceNewParamsSyncInterval]` Body param: Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). - `const NamespaceInstanceNewParamsSyncInterval900 NamespaceInstanceNewParamsSyncInterval = 900` - `const NamespaceInstanceNewParamsSyncInterval1800 NamespaceInstanceNewParamsSyncInterval = 1800` - `const NamespaceInstanceNewParamsSyncInterval3600 NamespaceInstanceNewParamsSyncInterval = 3600` - `const NamespaceInstanceNewParamsSyncInterval7200 NamespaceInstanceNewParamsSyncInterval = 7200` - `const NamespaceInstanceNewParamsSyncInterval14400 NamespaceInstanceNewParamsSyncInterval = 14400` - `const NamespaceInstanceNewParamsSyncInterval21600 NamespaceInstanceNewParamsSyncInterval = 21600` - `const NamespaceInstanceNewParamsSyncInterval43200 NamespaceInstanceNewParamsSyncInterval = 43200` - `const NamespaceInstanceNewParamsSyncInterval86400 NamespaceInstanceNewParamsSyncInterval = 86400` - `TokenID param.Field[string]` Body param - `Type param.Field[NamespaceInstanceNewParamsType]` Body param - `const NamespaceInstanceNewParamsTypeR2 NamespaceInstanceNewParamsType = "r2"` - `const NamespaceInstanceNewParamsTypeWebCrawler NamespaceInstanceNewParamsType = "web-crawler"` ### Returns - `type NamespaceInstanceNewResponse struct{…}` - `ID string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `CreatedAt Time` - `ModifiedAt Time` - `AIGatewayID string` - `AISearchModel NamespaceInstanceNewResponseAISearchModel` - `const NamespaceInstanceNewResponseAISearchModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceNewResponseAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceNewResponseAISearchModelCfZaiOrgGlm4_7Flash NamespaceInstanceNewResponseAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceNewResponseAISearchModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceNewResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceNewResponseAISearchModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceNewResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceNewResponseAISearchModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceNewResponseAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceNewResponseAISearchModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceNewResponseAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceNewResponseAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceNewResponseAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceNewResponseAISearchModelCfMoonshotaiKimiK2Instruct NamespaceInstanceNewResponseAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceNewResponseAISearchModelCfGoogleGemma3_12bIt NamespaceInstanceNewResponseAISearchModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceNewResponseAISearchModelCfGoogleGemma4_26bA4bIt NamespaceInstanceNewResponseAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceNewResponseAISearchModelCfMoonshotaiKimiK2_5 NamespaceInstanceNewResponseAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceNewResponseAISearchModelAnthropicClaude3_7Sonnet NamespaceInstanceNewResponseAISearchModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceNewResponseAISearchModelAnthropicClaudeSonnet4 NamespaceInstanceNewResponseAISearchModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceNewResponseAISearchModelAnthropicClaudeOpus4 NamespaceInstanceNewResponseAISearchModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceNewResponseAISearchModelAnthropicClaude3_5Haiku NamespaceInstanceNewResponseAISearchModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceNewResponseAISearchModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceNewResponseAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceNewResponseAISearchModelCerebrasQwen3_235bA22bThinking NamespaceInstanceNewResponseAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceNewResponseAISearchModelCerebrasLlama3_3_70b NamespaceInstanceNewResponseAISearchModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceNewResponseAISearchModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceNewResponseAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceNewResponseAISearchModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceNewResponseAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceNewResponseAISearchModelCerebrasGptOSs120b NamespaceInstanceNewResponseAISearchModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceNewResponseAISearchModelGoogleAIStudioGemini2_5Flash NamespaceInstanceNewResponseAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceNewResponseAISearchModelGoogleAIStudioGemini2_5Pro NamespaceInstanceNewResponseAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceNewResponseAISearchModelGrokGrok4 NamespaceInstanceNewResponseAISearchModel = "grok/grok-4"` - `const NamespaceInstanceNewResponseAISearchModelGroqLlama3_3_70bVersatile NamespaceInstanceNewResponseAISearchModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceNewResponseAISearchModelGroqLlama3_1_8bInstant NamespaceInstanceNewResponseAISearchModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceNewResponseAISearchModelOpenAIGpt5 NamespaceInstanceNewResponseAISearchModel = "openai/gpt-5"` - `const NamespaceInstanceNewResponseAISearchModelOpenAIGpt5Mini NamespaceInstanceNewResponseAISearchModel = "openai/gpt-5-mini"` - `const NamespaceInstanceNewResponseAISearchModelOpenAIGpt5Nano NamespaceInstanceNewResponseAISearchModel = "openai/gpt-5-nano"` - `const NamespaceInstanceNewResponseAISearchModelEmpty NamespaceInstanceNewResponseAISearchModel = ""` - `Cache bool` - `CacheThreshold NamespaceInstanceNewResponseCacheThreshold` - `const NamespaceInstanceNewResponseCacheThresholdSuperStrictMatch NamespaceInstanceNewResponseCacheThreshold = "super_strict_match"` - `const NamespaceInstanceNewResponseCacheThresholdCloseEnough NamespaceInstanceNewResponseCacheThreshold = "close_enough"` - `const NamespaceInstanceNewResponseCacheThresholdFlexibleFriend NamespaceInstanceNewResponseCacheThreshold = "flexible_friend"` - `const NamespaceInstanceNewResponseCacheThresholdAnythingGoes NamespaceInstanceNewResponseCacheThreshold = "anything_goes"` - `CacheTTL NamespaceInstanceNewResponseCacheTTL` Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). - `const NamespaceInstanceNewResponseCacheTTL600 NamespaceInstanceNewResponseCacheTTL = 600` - `const NamespaceInstanceNewResponseCacheTTL1800 NamespaceInstanceNewResponseCacheTTL = 1800` - `const NamespaceInstanceNewResponseCacheTTL3600 NamespaceInstanceNewResponseCacheTTL = 3600` - `const NamespaceInstanceNewResponseCacheTTL7200 NamespaceInstanceNewResponseCacheTTL = 7200` - `const NamespaceInstanceNewResponseCacheTTL21600 NamespaceInstanceNewResponseCacheTTL = 21600` - `const NamespaceInstanceNewResponseCacheTTL43200 NamespaceInstanceNewResponseCacheTTL = 43200` - `const NamespaceInstanceNewResponseCacheTTL86400 NamespaceInstanceNewResponseCacheTTL = 86400` - `const NamespaceInstanceNewResponseCacheTTL172800 NamespaceInstanceNewResponseCacheTTL = 172800` - `const NamespaceInstanceNewResponseCacheTTL259200 NamespaceInstanceNewResponseCacheTTL = 259200` - `const NamespaceInstanceNewResponseCacheTTL518400 NamespaceInstanceNewResponseCacheTTL = 518400` - `ChunkOverlap int64` - `ChunkSize int64` - `CreatedBy string` - `CustomMetadata []NamespaceInstanceNewResponseCustomMetadata` - `DataType NamespaceInstanceNewResponseCustomMetadataDataType` - `const NamespaceInstanceNewResponseCustomMetadataDataTypeText NamespaceInstanceNewResponseCustomMetadataDataType = "text"` - `const NamespaceInstanceNewResponseCustomMetadataDataTypeNumber NamespaceInstanceNewResponseCustomMetadataDataType = "number"` - `const NamespaceInstanceNewResponseCustomMetadataDataTypeBoolean NamespaceInstanceNewResponseCustomMetadataDataType = "boolean"` - `const NamespaceInstanceNewResponseCustomMetadataDataTypeDatetime NamespaceInstanceNewResponseCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel NamespaceInstanceNewResponseEmbeddingModel` - `const NamespaceInstanceNewResponseEmbeddingModelCfQwenQwen3Embedding0_6b NamespaceInstanceNewResponseEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const NamespaceInstanceNewResponseEmbeddingModelCfBaaiBgeM3 NamespaceInstanceNewResponseEmbeddingModel = "@cf/baai/bge-m3"` - `const NamespaceInstanceNewResponseEmbeddingModelCfBaaiBgeLargeEnV1_5 NamespaceInstanceNewResponseEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const NamespaceInstanceNewResponseEmbeddingModelCfGoogleEmbeddinggemma300m NamespaceInstanceNewResponseEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const NamespaceInstanceNewResponseEmbeddingModelGoogleAIStudioGeminiEmbedding001 NamespaceInstanceNewResponseEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const NamespaceInstanceNewResponseEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview NamespaceInstanceNewResponseEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const NamespaceInstanceNewResponseEmbeddingModelOpenAITextEmbedding3Small NamespaceInstanceNewResponseEmbeddingModel = "openai/text-embedding-3-small"` - `const NamespaceInstanceNewResponseEmbeddingModelOpenAITextEmbedding3Large NamespaceInstanceNewResponseEmbeddingModel = "openai/text-embedding-3-large"` - `const NamespaceInstanceNewResponseEmbeddingModelEmpty NamespaceInstanceNewResponseEmbeddingModel = ""` - `Enable bool` - `EngineVersion float64` - `FusionMethod NamespaceInstanceNewResponseFusionMethod` - `const NamespaceInstanceNewResponseFusionMethodMax NamespaceInstanceNewResponseFusionMethod = "max"` - `const NamespaceInstanceNewResponseFusionMethodRrf NamespaceInstanceNewResponseFusionMethod = "rrf"` - `HybridSearchEnabled bool` Deprecated — use index_method instead. - `IndexMethod NamespaceInstanceNewResponseIndexMethod` Controls which storage backends are used during indexing. Defaults to vector-only. - `Keyword bool` Enable keyword (BM25) storage backend. - `Vector bool` Enable vector (embedding) storage backend. - `IndexingOptions NamespaceInstanceNewResponseIndexingOptions` - `KeywordTokenizer NamespaceInstanceNewResponseIndexingOptionsKeywordTokenizer` Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. - `const NamespaceInstanceNewResponseIndexingOptionsKeywordTokenizerPorter NamespaceInstanceNewResponseIndexingOptionsKeywordTokenizer = "porter"` - `const NamespaceInstanceNewResponseIndexingOptionsKeywordTokenizerTrigram NamespaceInstanceNewResponseIndexingOptionsKeywordTokenizer = "trigram"` - `LastActivity Time` - `MaxNumResults int64` - `Metadata NamespaceInstanceNewResponseMetadata` - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `ModifiedBy string` - `Namespace string` - `Paused bool` - `PublicEndpointID string` - `PublicEndpointParams NamespaceInstanceNewResponsePublicEndpointParams` - `AuthorizedHosts []string` - `ChatCompletionsEndpoint NamespaceInstanceNewResponsePublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp NamespaceInstanceNewResponsePublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit NamespaceInstanceNewResponsePublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique NamespaceInstanceNewResponsePublicEndpointParamsRateLimitTechnique` - `const NamespaceInstanceNewResponsePublicEndpointParamsRateLimitTechniqueFixed NamespaceInstanceNewResponsePublicEndpointParamsRateLimitTechnique = "fixed"` - `const NamespaceInstanceNewResponsePublicEndpointParamsRateLimitTechniqueSliding NamespaceInstanceNewResponsePublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint NamespaceInstanceNewResponsePublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking bool` - `RerankingModel NamespaceInstanceNewResponseRerankingModel` - `const NamespaceInstanceNewResponseRerankingModelCfBaaiBgeRerankerBase NamespaceInstanceNewResponseRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceInstanceNewResponseRerankingModelEmpty NamespaceInstanceNewResponseRerankingModel = ""` - `RetrievalOptions NamespaceInstanceNewResponseRetrievalOptions` - `BoostBy []NamespaceInstanceNewResponseRetrievalOptionsBoostBy` Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceInstanceNewResponseRetrievalOptionsBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceInstanceNewResponseRetrievalOptionsBoostByDirectionAsc NamespaceInstanceNewResponseRetrievalOptionsBoostByDirection = "asc"` - `const NamespaceInstanceNewResponseRetrievalOptionsBoostByDirectionDesc NamespaceInstanceNewResponseRetrievalOptionsBoostByDirection = "desc"` - `const NamespaceInstanceNewResponseRetrievalOptionsBoostByDirectionExists NamespaceInstanceNewResponseRetrievalOptionsBoostByDirection = "exists"` - `const NamespaceInstanceNewResponseRetrievalOptionsBoostByDirectionNotExists NamespaceInstanceNewResponseRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode NamespaceInstanceNewResponseRetrievalOptionsKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceInstanceNewResponseRetrievalOptionsKeywordMatchModeAnd NamespaceInstanceNewResponseRetrievalOptionsKeywordMatchMode = "and"` - `const NamespaceInstanceNewResponseRetrievalOptionsKeywordMatchModeOr NamespaceInstanceNewResponseRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel NamespaceInstanceNewResponseRewriteModel` - `const NamespaceInstanceNewResponseRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceNewResponseRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceNewResponseRewriteModelCfZaiOrgGlm4_7Flash NamespaceInstanceNewResponseRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceNewResponseRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceNewResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceNewResponseRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceNewResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceNewResponseRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceNewResponseRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceNewResponseRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceNewResponseRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceNewResponseRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceNewResponseRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceNewResponseRewriteModelCfMoonshotaiKimiK2Instruct NamespaceInstanceNewResponseRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceNewResponseRewriteModelCfGoogleGemma3_12bIt NamespaceInstanceNewResponseRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceNewResponseRewriteModelCfGoogleGemma4_26bA4bIt NamespaceInstanceNewResponseRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceNewResponseRewriteModelCfMoonshotaiKimiK2_5 NamespaceInstanceNewResponseRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceNewResponseRewriteModelAnthropicClaude3_7Sonnet NamespaceInstanceNewResponseRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceNewResponseRewriteModelAnthropicClaudeSonnet4 NamespaceInstanceNewResponseRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceNewResponseRewriteModelAnthropicClaudeOpus4 NamespaceInstanceNewResponseRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceNewResponseRewriteModelAnthropicClaude3_5Haiku NamespaceInstanceNewResponseRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceNewResponseRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceNewResponseRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceNewResponseRewriteModelCerebrasQwen3_235bA22bThinking NamespaceInstanceNewResponseRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceNewResponseRewriteModelCerebrasLlama3_3_70b NamespaceInstanceNewResponseRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceNewResponseRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceNewResponseRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceNewResponseRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceNewResponseRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceNewResponseRewriteModelCerebrasGptOSs120b NamespaceInstanceNewResponseRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceNewResponseRewriteModelGoogleAIStudioGemini2_5Flash NamespaceInstanceNewResponseRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceNewResponseRewriteModelGoogleAIStudioGemini2_5Pro NamespaceInstanceNewResponseRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceNewResponseRewriteModelGrokGrok4 NamespaceInstanceNewResponseRewriteModel = "grok/grok-4"` - `const NamespaceInstanceNewResponseRewriteModelGroqLlama3_3_70bVersatile NamespaceInstanceNewResponseRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceNewResponseRewriteModelGroqLlama3_1_8bInstant NamespaceInstanceNewResponseRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceNewResponseRewriteModelOpenAIGpt5 NamespaceInstanceNewResponseRewriteModel = "openai/gpt-5"` - `const NamespaceInstanceNewResponseRewriteModelOpenAIGpt5Mini NamespaceInstanceNewResponseRewriteModel = "openai/gpt-5-mini"` - `const NamespaceInstanceNewResponseRewriteModelOpenAIGpt5Nano NamespaceInstanceNewResponseRewriteModel = "openai/gpt-5-nano"` - `const NamespaceInstanceNewResponseRewriteModelEmpty NamespaceInstanceNewResponseRewriteModel = ""` - `RewriteQuery bool` - `ScoreThreshold float64` - `Source string` - `SourceParams NamespaceInstanceNewResponseSourceParams` - `ExcludeItems []string` List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) - `IncludeItems []string` List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) - `Prefix string` - `R2Jurisdiction string` - `WebCrawler NamespaceInstanceNewResponseSourceParamsWebCrawler` - `CrawlOptions NamespaceInstanceNewResponseSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source NamespaceInstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSource` - `const NamespaceInstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSourceAll NamespaceInstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const NamespaceInstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSourceSitemaps NamespaceInstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const NamespaceInstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSourceLinks NamespaceInstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions NamespaceInstanceNewResponseSourceParamsWebCrawlerParseOptions` - `ContentSelector []NamespaceInstanceNewResponseSourceParamsWebCrawlerParseOptionsContentSelector` List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. - `Path string` Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories. - `Selector string` CSS selector to extract content from pages matching the path pattern. Must not contain disallowed characters (;, `, $, {, }, ). Must target a single element; if multiple elements match, the selector is ignored and the full page is used. - `IncludeHeaders map[string, string]` Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). - `IncludeImages bool` - `SpecificSitemaps []string` List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. - `UseBrowserRendering bool` - `ParseType NamespaceInstanceNewResponseSourceParamsWebCrawlerParseType` - `const NamespaceInstanceNewResponseSourceParamsWebCrawlerParseTypeSitemap NamespaceInstanceNewResponseSourceParamsWebCrawlerParseType = "sitemap"` - `const NamespaceInstanceNewResponseSourceParamsWebCrawlerParseTypeFeedRss NamespaceInstanceNewResponseSourceParamsWebCrawlerParseType = "feed-rss"` - `const NamespaceInstanceNewResponseSourceParamsWebCrawlerParseTypeCrawl NamespaceInstanceNewResponseSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions NamespaceInstanceNewResponseSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Status string` - `SyncInterval NamespaceInstanceNewResponseSyncInterval` Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). - `const NamespaceInstanceNewResponseSyncInterval900 NamespaceInstanceNewResponseSyncInterval = 900` - `const NamespaceInstanceNewResponseSyncInterval1800 NamespaceInstanceNewResponseSyncInterval = 1800` - `const NamespaceInstanceNewResponseSyncInterval3600 NamespaceInstanceNewResponseSyncInterval = 3600` - `const NamespaceInstanceNewResponseSyncInterval7200 NamespaceInstanceNewResponseSyncInterval = 7200` - `const NamespaceInstanceNewResponseSyncInterval14400 NamespaceInstanceNewResponseSyncInterval = 14400` - `const NamespaceInstanceNewResponseSyncInterval21600 NamespaceInstanceNewResponseSyncInterval = 21600` - `const NamespaceInstanceNewResponseSyncInterval43200 NamespaceInstanceNewResponseSyncInterval = 43200` - `const NamespaceInstanceNewResponseSyncInterval86400 NamespaceInstanceNewResponseSyncInterval = 86400` - `TokenID string` - `Type NamespaceInstanceNewResponseType` - `const NamespaceInstanceNewResponseTypeR2 NamespaceInstanceNewResponseType = "r2"` - `const NamespaceInstanceNewResponseTypeWebCrawler NamespaceInstanceNewResponseType = "web-crawler"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) instance, err := client.AISearch.Namespaces.Instances.New( context.TODO(), "my-namespace", ai_search.NamespaceInstanceNewParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), ID: cloudflare.F("my-ai-search"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", instance.ID) } ``` #### Response ```json { "result": { "id": "my-ai-search", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "ai_gateway_id": "ai_gateway_id", "ai_search_model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", "cache": true, "cache_threshold": "super_strict_match", "cache_ttl": 600, "chunk_overlap": 0, "chunk_size": 64, "created_by": "created_by", "custom_metadata": [ { "data_type": "text", "field_name": "x" } ], "embedding_model": "@cf/qwen/qwen3-embedding-0.6b", "enable": true, "engine_version": 0, "fusion_method": "max", "hybrid_search_enabled": true, "index_method": { "keyword": true, "vector": true }, "indexing_options": { "keyword_tokenizer": "porter" }, "last_activity": "2019-12-27T18:11:19.117Z", "max_num_results": 1, "metadata": { "created_from_aisearch_wizard": true, "worker_domain": "worker_domain" }, "modified_by": "modified_by", "namespace": "namespace", "paused": true, "public_endpoint_id": "public_endpoint_id", "public_endpoint_params": { "authorized_hosts": [ "string" ], "chat_completions_endpoint": { "disabled": true }, "enabled": true, "mcp": { "description": "description", "disabled": true }, "rate_limit": { "period_ms": 60000, "requests": 1, "technique": "fixed" }, "search_endpoint": { "disabled": true } }, "reranking": true, "reranking_model": "@cf/baai/bge-reranker-base", "retrieval_options": { "boost_by": [ { "field": "timestamp", "direction": "desc" } ], "keyword_match_mode": "and" }, "rewrite_model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", "rewrite_query": true, "score_threshold": 0, "source": "source", "source_params": { "exclude_items": [ "/admin/**", "/private/**", "**\\temp\\**" ], "include_items": [ "/blog/**", "/docs/**/*.html", "**\\blog\\**.html" ], "prefix": "prefix", "r2_jurisdiction": "r2_jurisdiction", "web_crawler": { "crawl_options": { "depth": 1, "include_external_links": true, "include_subdomains": true, "max_age": 0, "source": "all" }, "parse_options": { "content_selector": [ { "path": "**/blog/**", "selector": "article div.post-body" }, { "path": "**/docs/**", "selector": "main" } ], "include_headers": { "cache-control": "no-cache, no-store" }, "include_images": true, "specific_sitemaps": [ "https://example.com/sitemap.xml", "https://example.com/blog-sitemap.xml" ], "use_browser_rendering": true }, "parse_type": "sitemap", "store_options": { "storage_id": "storage_id", "r2_jurisdiction": "r2_jurisdiction", "storage_type": "r2" } } }, "status": "status", "sync_interval": 900, "token_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "type": "r2" }, "success": true } ``` ## Read instance. `client.AISearch.Namespaces.Instances.Read(ctx, name, id, query) (*NamespaceInstanceReadResponse, error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}` Read instance. ### Parameters - `name string` - `id string` - `query NamespaceInstanceReadParams` - `AccountID param.Field[string]` ### Returns - `type NamespaceInstanceReadResponse struct{…}` - `ID string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `CreatedAt Time` - `ModifiedAt Time` - `AIGatewayID string` - `AISearchModel NamespaceInstanceReadResponseAISearchModel` - `const NamespaceInstanceReadResponseAISearchModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceReadResponseAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceReadResponseAISearchModelCfZaiOrgGlm4_7Flash NamespaceInstanceReadResponseAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceReadResponseAISearchModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceReadResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceReadResponseAISearchModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceReadResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceReadResponseAISearchModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceReadResponseAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceReadResponseAISearchModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceReadResponseAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceReadResponseAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceReadResponseAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceReadResponseAISearchModelCfMoonshotaiKimiK2Instruct NamespaceInstanceReadResponseAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceReadResponseAISearchModelCfGoogleGemma3_12bIt NamespaceInstanceReadResponseAISearchModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceReadResponseAISearchModelCfGoogleGemma4_26bA4bIt NamespaceInstanceReadResponseAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceReadResponseAISearchModelCfMoonshotaiKimiK2_5 NamespaceInstanceReadResponseAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceReadResponseAISearchModelAnthropicClaude3_7Sonnet NamespaceInstanceReadResponseAISearchModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceReadResponseAISearchModelAnthropicClaudeSonnet4 NamespaceInstanceReadResponseAISearchModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceReadResponseAISearchModelAnthropicClaudeOpus4 NamespaceInstanceReadResponseAISearchModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceReadResponseAISearchModelAnthropicClaude3_5Haiku NamespaceInstanceReadResponseAISearchModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceReadResponseAISearchModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceReadResponseAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceReadResponseAISearchModelCerebrasQwen3_235bA22bThinking NamespaceInstanceReadResponseAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceReadResponseAISearchModelCerebrasLlama3_3_70b NamespaceInstanceReadResponseAISearchModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceReadResponseAISearchModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceReadResponseAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceReadResponseAISearchModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceReadResponseAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceReadResponseAISearchModelCerebrasGptOSs120b NamespaceInstanceReadResponseAISearchModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceReadResponseAISearchModelGoogleAIStudioGemini2_5Flash NamespaceInstanceReadResponseAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceReadResponseAISearchModelGoogleAIStudioGemini2_5Pro NamespaceInstanceReadResponseAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceReadResponseAISearchModelGrokGrok4 NamespaceInstanceReadResponseAISearchModel = "grok/grok-4"` - `const NamespaceInstanceReadResponseAISearchModelGroqLlama3_3_70bVersatile NamespaceInstanceReadResponseAISearchModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceReadResponseAISearchModelGroqLlama3_1_8bInstant NamespaceInstanceReadResponseAISearchModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceReadResponseAISearchModelOpenAIGpt5 NamespaceInstanceReadResponseAISearchModel = "openai/gpt-5"` - `const NamespaceInstanceReadResponseAISearchModelOpenAIGpt5Mini NamespaceInstanceReadResponseAISearchModel = "openai/gpt-5-mini"` - `const NamespaceInstanceReadResponseAISearchModelOpenAIGpt5Nano NamespaceInstanceReadResponseAISearchModel = "openai/gpt-5-nano"` - `const NamespaceInstanceReadResponseAISearchModelEmpty NamespaceInstanceReadResponseAISearchModel = ""` - `Cache bool` - `CacheThreshold NamespaceInstanceReadResponseCacheThreshold` - `const NamespaceInstanceReadResponseCacheThresholdSuperStrictMatch NamespaceInstanceReadResponseCacheThreshold = "super_strict_match"` - `const NamespaceInstanceReadResponseCacheThresholdCloseEnough NamespaceInstanceReadResponseCacheThreshold = "close_enough"` - `const NamespaceInstanceReadResponseCacheThresholdFlexibleFriend NamespaceInstanceReadResponseCacheThreshold = "flexible_friend"` - `const NamespaceInstanceReadResponseCacheThresholdAnythingGoes NamespaceInstanceReadResponseCacheThreshold = "anything_goes"` - `CacheTTL NamespaceInstanceReadResponseCacheTTL` Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). - `const NamespaceInstanceReadResponseCacheTTL600 NamespaceInstanceReadResponseCacheTTL = 600` - `const NamespaceInstanceReadResponseCacheTTL1800 NamespaceInstanceReadResponseCacheTTL = 1800` - `const NamespaceInstanceReadResponseCacheTTL3600 NamespaceInstanceReadResponseCacheTTL = 3600` - `const NamespaceInstanceReadResponseCacheTTL7200 NamespaceInstanceReadResponseCacheTTL = 7200` - `const NamespaceInstanceReadResponseCacheTTL21600 NamespaceInstanceReadResponseCacheTTL = 21600` - `const NamespaceInstanceReadResponseCacheTTL43200 NamespaceInstanceReadResponseCacheTTL = 43200` - `const NamespaceInstanceReadResponseCacheTTL86400 NamespaceInstanceReadResponseCacheTTL = 86400` - `const NamespaceInstanceReadResponseCacheTTL172800 NamespaceInstanceReadResponseCacheTTL = 172800` - `const NamespaceInstanceReadResponseCacheTTL259200 NamespaceInstanceReadResponseCacheTTL = 259200` - `const NamespaceInstanceReadResponseCacheTTL518400 NamespaceInstanceReadResponseCacheTTL = 518400` - `ChunkOverlap int64` - `ChunkSize int64` - `CreatedBy string` - `CustomMetadata []NamespaceInstanceReadResponseCustomMetadata` - `DataType NamespaceInstanceReadResponseCustomMetadataDataType` - `const NamespaceInstanceReadResponseCustomMetadataDataTypeText NamespaceInstanceReadResponseCustomMetadataDataType = "text"` - `const NamespaceInstanceReadResponseCustomMetadataDataTypeNumber NamespaceInstanceReadResponseCustomMetadataDataType = "number"` - `const NamespaceInstanceReadResponseCustomMetadataDataTypeBoolean NamespaceInstanceReadResponseCustomMetadataDataType = "boolean"` - `const NamespaceInstanceReadResponseCustomMetadataDataTypeDatetime NamespaceInstanceReadResponseCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel NamespaceInstanceReadResponseEmbeddingModel` - `const NamespaceInstanceReadResponseEmbeddingModelCfQwenQwen3Embedding0_6b NamespaceInstanceReadResponseEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const NamespaceInstanceReadResponseEmbeddingModelCfBaaiBgeM3 NamespaceInstanceReadResponseEmbeddingModel = "@cf/baai/bge-m3"` - `const NamespaceInstanceReadResponseEmbeddingModelCfBaaiBgeLargeEnV1_5 NamespaceInstanceReadResponseEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const NamespaceInstanceReadResponseEmbeddingModelCfGoogleEmbeddinggemma300m NamespaceInstanceReadResponseEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const NamespaceInstanceReadResponseEmbeddingModelGoogleAIStudioGeminiEmbedding001 NamespaceInstanceReadResponseEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const NamespaceInstanceReadResponseEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview NamespaceInstanceReadResponseEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const NamespaceInstanceReadResponseEmbeddingModelOpenAITextEmbedding3Small NamespaceInstanceReadResponseEmbeddingModel = "openai/text-embedding-3-small"` - `const NamespaceInstanceReadResponseEmbeddingModelOpenAITextEmbedding3Large NamespaceInstanceReadResponseEmbeddingModel = "openai/text-embedding-3-large"` - `const NamespaceInstanceReadResponseEmbeddingModelEmpty NamespaceInstanceReadResponseEmbeddingModel = ""` - `Enable bool` - `EngineVersion float64` - `FusionMethod NamespaceInstanceReadResponseFusionMethod` - `const NamespaceInstanceReadResponseFusionMethodMax NamespaceInstanceReadResponseFusionMethod = "max"` - `const NamespaceInstanceReadResponseFusionMethodRrf NamespaceInstanceReadResponseFusionMethod = "rrf"` - `HybridSearchEnabled bool` Deprecated — use index_method instead. - `IndexMethod NamespaceInstanceReadResponseIndexMethod` Controls which storage backends are used during indexing. Defaults to vector-only. - `Keyword bool` Enable keyword (BM25) storage backend. - `Vector bool` Enable vector (embedding) storage backend. - `IndexingOptions NamespaceInstanceReadResponseIndexingOptions` - `KeywordTokenizer NamespaceInstanceReadResponseIndexingOptionsKeywordTokenizer` Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. - `const NamespaceInstanceReadResponseIndexingOptionsKeywordTokenizerPorter NamespaceInstanceReadResponseIndexingOptionsKeywordTokenizer = "porter"` - `const NamespaceInstanceReadResponseIndexingOptionsKeywordTokenizerTrigram NamespaceInstanceReadResponseIndexingOptionsKeywordTokenizer = "trigram"` - `LastActivity Time` - `MaxNumResults int64` - `Metadata NamespaceInstanceReadResponseMetadata` - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `ModifiedBy string` - `Namespace string` - `Paused bool` - `PublicEndpointID string` - `PublicEndpointParams NamespaceInstanceReadResponsePublicEndpointParams` - `AuthorizedHosts []string` - `ChatCompletionsEndpoint NamespaceInstanceReadResponsePublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp NamespaceInstanceReadResponsePublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit NamespaceInstanceReadResponsePublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique NamespaceInstanceReadResponsePublicEndpointParamsRateLimitTechnique` - `const NamespaceInstanceReadResponsePublicEndpointParamsRateLimitTechniqueFixed NamespaceInstanceReadResponsePublicEndpointParamsRateLimitTechnique = "fixed"` - `const NamespaceInstanceReadResponsePublicEndpointParamsRateLimitTechniqueSliding NamespaceInstanceReadResponsePublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint NamespaceInstanceReadResponsePublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking bool` - `RerankingModel NamespaceInstanceReadResponseRerankingModel` - `const NamespaceInstanceReadResponseRerankingModelCfBaaiBgeRerankerBase NamespaceInstanceReadResponseRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceInstanceReadResponseRerankingModelEmpty NamespaceInstanceReadResponseRerankingModel = ""` - `RetrievalOptions NamespaceInstanceReadResponseRetrievalOptions` - `BoostBy []NamespaceInstanceReadResponseRetrievalOptionsBoostBy` Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceInstanceReadResponseRetrievalOptionsBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceInstanceReadResponseRetrievalOptionsBoostByDirectionAsc NamespaceInstanceReadResponseRetrievalOptionsBoostByDirection = "asc"` - `const NamespaceInstanceReadResponseRetrievalOptionsBoostByDirectionDesc NamespaceInstanceReadResponseRetrievalOptionsBoostByDirection = "desc"` - `const NamespaceInstanceReadResponseRetrievalOptionsBoostByDirectionExists NamespaceInstanceReadResponseRetrievalOptionsBoostByDirection = "exists"` - `const NamespaceInstanceReadResponseRetrievalOptionsBoostByDirectionNotExists NamespaceInstanceReadResponseRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode NamespaceInstanceReadResponseRetrievalOptionsKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceInstanceReadResponseRetrievalOptionsKeywordMatchModeAnd NamespaceInstanceReadResponseRetrievalOptionsKeywordMatchMode = "and"` - `const NamespaceInstanceReadResponseRetrievalOptionsKeywordMatchModeOr NamespaceInstanceReadResponseRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel NamespaceInstanceReadResponseRewriteModel` - `const NamespaceInstanceReadResponseRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceReadResponseRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceReadResponseRewriteModelCfZaiOrgGlm4_7Flash NamespaceInstanceReadResponseRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceReadResponseRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceReadResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceReadResponseRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceReadResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceReadResponseRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceReadResponseRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceReadResponseRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceReadResponseRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceReadResponseRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceReadResponseRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceReadResponseRewriteModelCfMoonshotaiKimiK2Instruct NamespaceInstanceReadResponseRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceReadResponseRewriteModelCfGoogleGemma3_12bIt NamespaceInstanceReadResponseRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceReadResponseRewriteModelCfGoogleGemma4_26bA4bIt NamespaceInstanceReadResponseRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceReadResponseRewriteModelCfMoonshotaiKimiK2_5 NamespaceInstanceReadResponseRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceReadResponseRewriteModelAnthropicClaude3_7Sonnet NamespaceInstanceReadResponseRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceReadResponseRewriteModelAnthropicClaudeSonnet4 NamespaceInstanceReadResponseRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceReadResponseRewriteModelAnthropicClaudeOpus4 NamespaceInstanceReadResponseRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceReadResponseRewriteModelAnthropicClaude3_5Haiku NamespaceInstanceReadResponseRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceReadResponseRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceReadResponseRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceReadResponseRewriteModelCerebrasQwen3_235bA22bThinking NamespaceInstanceReadResponseRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceReadResponseRewriteModelCerebrasLlama3_3_70b NamespaceInstanceReadResponseRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceReadResponseRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceReadResponseRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceReadResponseRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceReadResponseRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceReadResponseRewriteModelCerebrasGptOSs120b NamespaceInstanceReadResponseRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceReadResponseRewriteModelGoogleAIStudioGemini2_5Flash NamespaceInstanceReadResponseRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceReadResponseRewriteModelGoogleAIStudioGemini2_5Pro NamespaceInstanceReadResponseRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceReadResponseRewriteModelGrokGrok4 NamespaceInstanceReadResponseRewriteModel = "grok/grok-4"` - `const NamespaceInstanceReadResponseRewriteModelGroqLlama3_3_70bVersatile NamespaceInstanceReadResponseRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceReadResponseRewriteModelGroqLlama3_1_8bInstant NamespaceInstanceReadResponseRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceReadResponseRewriteModelOpenAIGpt5 NamespaceInstanceReadResponseRewriteModel = "openai/gpt-5"` - `const NamespaceInstanceReadResponseRewriteModelOpenAIGpt5Mini NamespaceInstanceReadResponseRewriteModel = "openai/gpt-5-mini"` - `const NamespaceInstanceReadResponseRewriteModelOpenAIGpt5Nano NamespaceInstanceReadResponseRewriteModel = "openai/gpt-5-nano"` - `const NamespaceInstanceReadResponseRewriteModelEmpty NamespaceInstanceReadResponseRewriteModel = ""` - `RewriteQuery bool` - `ScoreThreshold float64` - `Source string` - `SourceParams NamespaceInstanceReadResponseSourceParams` - `ExcludeItems []string` List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) - `IncludeItems []string` List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) - `Prefix string` - `R2Jurisdiction string` - `WebCrawler NamespaceInstanceReadResponseSourceParamsWebCrawler` - `CrawlOptions NamespaceInstanceReadResponseSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source NamespaceInstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSource` - `const NamespaceInstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSourceAll NamespaceInstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const NamespaceInstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSourceSitemaps NamespaceInstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const NamespaceInstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSourceLinks NamespaceInstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions NamespaceInstanceReadResponseSourceParamsWebCrawlerParseOptions` - `ContentSelector []NamespaceInstanceReadResponseSourceParamsWebCrawlerParseOptionsContentSelector` List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. - `Path string` Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories. - `Selector string` CSS selector to extract content from pages matching the path pattern. Must not contain disallowed characters (;, `, $, {, }, ). Must target a single element; if multiple elements match, the selector is ignored and the full page is used. - `IncludeHeaders map[string, string]` Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). - `IncludeImages bool` - `SpecificSitemaps []string` List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. - `UseBrowserRendering bool` - `ParseType NamespaceInstanceReadResponseSourceParamsWebCrawlerParseType` - `const NamespaceInstanceReadResponseSourceParamsWebCrawlerParseTypeSitemap NamespaceInstanceReadResponseSourceParamsWebCrawlerParseType = "sitemap"` - `const NamespaceInstanceReadResponseSourceParamsWebCrawlerParseTypeFeedRss NamespaceInstanceReadResponseSourceParamsWebCrawlerParseType = "feed-rss"` - `const NamespaceInstanceReadResponseSourceParamsWebCrawlerParseTypeCrawl NamespaceInstanceReadResponseSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions NamespaceInstanceReadResponseSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Status string` - `SyncInterval NamespaceInstanceReadResponseSyncInterval` Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). - `const NamespaceInstanceReadResponseSyncInterval900 NamespaceInstanceReadResponseSyncInterval = 900` - `const NamespaceInstanceReadResponseSyncInterval1800 NamespaceInstanceReadResponseSyncInterval = 1800` - `const NamespaceInstanceReadResponseSyncInterval3600 NamespaceInstanceReadResponseSyncInterval = 3600` - `const NamespaceInstanceReadResponseSyncInterval7200 NamespaceInstanceReadResponseSyncInterval = 7200` - `const NamespaceInstanceReadResponseSyncInterval14400 NamespaceInstanceReadResponseSyncInterval = 14400` - `const NamespaceInstanceReadResponseSyncInterval21600 NamespaceInstanceReadResponseSyncInterval = 21600` - `const NamespaceInstanceReadResponseSyncInterval43200 NamespaceInstanceReadResponseSyncInterval = 43200` - `const NamespaceInstanceReadResponseSyncInterval86400 NamespaceInstanceReadResponseSyncInterval = 86400` - `TokenID string` - `Type NamespaceInstanceReadResponseType` - `const NamespaceInstanceReadResponseTypeR2 NamespaceInstanceReadResponseType = "r2"` - `const NamespaceInstanceReadResponseTypeWebCrawler NamespaceInstanceReadResponseType = "web-crawler"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.Read( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceReadParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "result": { "id": "my-ai-search", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "ai_gateway_id": "ai_gateway_id", "ai_search_model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", "cache": true, "cache_threshold": "super_strict_match", "cache_ttl": 600, "chunk_overlap": 0, "chunk_size": 64, "created_by": "created_by", "custom_metadata": [ { "data_type": "text", "field_name": "x" } ], "embedding_model": "@cf/qwen/qwen3-embedding-0.6b", "enable": true, "engine_version": 0, "fusion_method": "max", "hybrid_search_enabled": true, "index_method": { "keyword": true, "vector": true }, "indexing_options": { "keyword_tokenizer": "porter" }, "last_activity": "2019-12-27T18:11:19.117Z", "max_num_results": 1, "metadata": { "created_from_aisearch_wizard": true, "worker_domain": "worker_domain" }, "modified_by": "modified_by", "namespace": "namespace", "paused": true, "public_endpoint_id": "public_endpoint_id", "public_endpoint_params": { "authorized_hosts": [ "string" ], "chat_completions_endpoint": { "disabled": true }, "enabled": true, "mcp": { "description": "description", "disabled": true }, "rate_limit": { "period_ms": 60000, "requests": 1, "technique": "fixed" }, "search_endpoint": { "disabled": true } }, "reranking": true, "reranking_model": "@cf/baai/bge-reranker-base", "retrieval_options": { "boost_by": [ { "field": "timestamp", "direction": "desc" } ], "keyword_match_mode": "and" }, "rewrite_model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", "rewrite_query": true, "score_threshold": 0, "source": "source", "source_params": { "exclude_items": [ "/admin/**", "/private/**", "**\\temp\\**" ], "include_items": [ "/blog/**", "/docs/**/*.html", "**\\blog\\**.html" ], "prefix": "prefix", "r2_jurisdiction": "r2_jurisdiction", "web_crawler": { "crawl_options": { "depth": 1, "include_external_links": true, "include_subdomains": true, "max_age": 0, "source": "all" }, "parse_options": { "content_selector": [ { "path": "**/blog/**", "selector": "article div.post-body" }, { "path": "**/docs/**", "selector": "main" } ], "include_headers": { "cache-control": "no-cache, no-store" }, "include_images": true, "specific_sitemaps": [ "https://example.com/sitemap.xml", "https://example.com/blog-sitemap.xml" ], "use_browser_rendering": true }, "parse_type": "sitemap", "store_options": { "storage_id": "storage_id", "r2_jurisdiction": "r2_jurisdiction", "storage_type": "r2" } } }, "status": "status", "sync_interval": 900, "token_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "type": "r2" }, "success": true } ``` ## Update instance. `client.AISearch.Namespaces.Instances.Update(ctx, name, id, params) (*NamespaceInstanceUpdateResponse, error)` **put** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}` Update instance. ### Parameters - `name string` - `id string` - `params NamespaceInstanceUpdateParams` - `AccountID param.Field[string]` Path param - `AIGatewayID param.Field[string]` Body param - `AISearchModel param.Field[NamespaceInstanceUpdateParamsAISearchModel]` Body param - `const NamespaceInstanceUpdateParamsAISearchModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceUpdateParamsAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceUpdateParamsAISearchModelCfZaiOrgGlm4_7Flash NamespaceInstanceUpdateParamsAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceUpdateParamsAISearchModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceUpdateParamsAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceUpdateParamsAISearchModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceUpdateParamsAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceUpdateParamsAISearchModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceUpdateParamsAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceUpdateParamsAISearchModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceUpdateParamsAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceUpdateParamsAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceUpdateParamsAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceUpdateParamsAISearchModelCfMoonshotaiKimiK2Instruct NamespaceInstanceUpdateParamsAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceUpdateParamsAISearchModelCfGoogleGemma3_12bIt NamespaceInstanceUpdateParamsAISearchModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceUpdateParamsAISearchModelCfGoogleGemma4_26bA4bIt NamespaceInstanceUpdateParamsAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceUpdateParamsAISearchModelCfMoonshotaiKimiK2_5 NamespaceInstanceUpdateParamsAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceUpdateParamsAISearchModelAnthropicClaude3_7Sonnet NamespaceInstanceUpdateParamsAISearchModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceUpdateParamsAISearchModelAnthropicClaudeSonnet4 NamespaceInstanceUpdateParamsAISearchModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceUpdateParamsAISearchModelAnthropicClaudeOpus4 NamespaceInstanceUpdateParamsAISearchModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceUpdateParamsAISearchModelAnthropicClaude3_5Haiku NamespaceInstanceUpdateParamsAISearchModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceUpdateParamsAISearchModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceUpdateParamsAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceUpdateParamsAISearchModelCerebrasQwen3_235bA22bThinking NamespaceInstanceUpdateParamsAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceUpdateParamsAISearchModelCerebrasLlama3_3_70b NamespaceInstanceUpdateParamsAISearchModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceUpdateParamsAISearchModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceUpdateParamsAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceUpdateParamsAISearchModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceUpdateParamsAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceUpdateParamsAISearchModelCerebrasGptOSs120b NamespaceInstanceUpdateParamsAISearchModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceUpdateParamsAISearchModelGoogleAIStudioGemini2_5Flash NamespaceInstanceUpdateParamsAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceUpdateParamsAISearchModelGoogleAIStudioGemini2_5Pro NamespaceInstanceUpdateParamsAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceUpdateParamsAISearchModelGrokGrok4 NamespaceInstanceUpdateParamsAISearchModel = "grok/grok-4"` - `const NamespaceInstanceUpdateParamsAISearchModelGroqLlama3_3_70bVersatile NamespaceInstanceUpdateParamsAISearchModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceUpdateParamsAISearchModelGroqLlama3_1_8bInstant NamespaceInstanceUpdateParamsAISearchModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceUpdateParamsAISearchModelOpenAIGpt5 NamespaceInstanceUpdateParamsAISearchModel = "openai/gpt-5"` - `const NamespaceInstanceUpdateParamsAISearchModelOpenAIGpt5Mini NamespaceInstanceUpdateParamsAISearchModel = "openai/gpt-5-mini"` - `const NamespaceInstanceUpdateParamsAISearchModelOpenAIGpt5Nano NamespaceInstanceUpdateParamsAISearchModel = "openai/gpt-5-nano"` - `const NamespaceInstanceUpdateParamsAISearchModelEmpty NamespaceInstanceUpdateParamsAISearchModel = ""` - `Cache param.Field[bool]` Body param - `CacheThreshold param.Field[NamespaceInstanceUpdateParamsCacheThreshold]` Body param - `const NamespaceInstanceUpdateParamsCacheThresholdSuperStrictMatch NamespaceInstanceUpdateParamsCacheThreshold = "super_strict_match"` - `const NamespaceInstanceUpdateParamsCacheThresholdCloseEnough NamespaceInstanceUpdateParamsCacheThreshold = "close_enough"` - `const NamespaceInstanceUpdateParamsCacheThresholdFlexibleFriend NamespaceInstanceUpdateParamsCacheThreshold = "flexible_friend"` - `const NamespaceInstanceUpdateParamsCacheThresholdAnythingGoes NamespaceInstanceUpdateParamsCacheThreshold = "anything_goes"` - `CacheTTL param.Field[NamespaceInstanceUpdateParamsCacheTTL]` Body param: Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). - `const NamespaceInstanceUpdateParamsCacheTTL600 NamespaceInstanceUpdateParamsCacheTTL = 600` - `const NamespaceInstanceUpdateParamsCacheTTL1800 NamespaceInstanceUpdateParamsCacheTTL = 1800` - `const NamespaceInstanceUpdateParamsCacheTTL3600 NamespaceInstanceUpdateParamsCacheTTL = 3600` - `const NamespaceInstanceUpdateParamsCacheTTL7200 NamespaceInstanceUpdateParamsCacheTTL = 7200` - `const NamespaceInstanceUpdateParamsCacheTTL21600 NamespaceInstanceUpdateParamsCacheTTL = 21600` - `const NamespaceInstanceUpdateParamsCacheTTL43200 NamespaceInstanceUpdateParamsCacheTTL = 43200` - `const NamespaceInstanceUpdateParamsCacheTTL86400 NamespaceInstanceUpdateParamsCacheTTL = 86400` - `const NamespaceInstanceUpdateParamsCacheTTL172800 NamespaceInstanceUpdateParamsCacheTTL = 172800` - `const NamespaceInstanceUpdateParamsCacheTTL259200 NamespaceInstanceUpdateParamsCacheTTL = 259200` - `const NamespaceInstanceUpdateParamsCacheTTL518400 NamespaceInstanceUpdateParamsCacheTTL = 518400` - `Chunk param.Field[bool]` Body param - `ChunkOverlap param.Field[int64]` Body param - `ChunkSize param.Field[int64]` Body param - `CustomMetadata param.Field[[]NamespaceInstanceUpdateParamsCustomMetadata]` Body param - `DataType NamespaceInstanceUpdateParamsCustomMetadataDataType` - `const NamespaceInstanceUpdateParamsCustomMetadataDataTypeText NamespaceInstanceUpdateParamsCustomMetadataDataType = "text"` - `const NamespaceInstanceUpdateParamsCustomMetadataDataTypeNumber NamespaceInstanceUpdateParamsCustomMetadataDataType = "number"` - `const NamespaceInstanceUpdateParamsCustomMetadataDataTypeBoolean NamespaceInstanceUpdateParamsCustomMetadataDataType = "boolean"` - `const NamespaceInstanceUpdateParamsCustomMetadataDataTypeDatetime NamespaceInstanceUpdateParamsCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel param.Field[NamespaceInstanceUpdateParamsEmbeddingModel]` Body param - `const NamespaceInstanceUpdateParamsEmbeddingModelCfQwenQwen3Embedding0_6b NamespaceInstanceUpdateParamsEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const NamespaceInstanceUpdateParamsEmbeddingModelCfBaaiBgeM3 NamespaceInstanceUpdateParamsEmbeddingModel = "@cf/baai/bge-m3"` - `const NamespaceInstanceUpdateParamsEmbeddingModelCfBaaiBgeLargeEnV1_5 NamespaceInstanceUpdateParamsEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const NamespaceInstanceUpdateParamsEmbeddingModelCfGoogleEmbeddinggemma300m NamespaceInstanceUpdateParamsEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const NamespaceInstanceUpdateParamsEmbeddingModelGoogleAIStudioGeminiEmbedding001 NamespaceInstanceUpdateParamsEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const NamespaceInstanceUpdateParamsEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview NamespaceInstanceUpdateParamsEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const NamespaceInstanceUpdateParamsEmbeddingModelOpenAITextEmbedding3Small NamespaceInstanceUpdateParamsEmbeddingModel = "openai/text-embedding-3-small"` - `const NamespaceInstanceUpdateParamsEmbeddingModelOpenAITextEmbedding3Large NamespaceInstanceUpdateParamsEmbeddingModel = "openai/text-embedding-3-large"` - `const NamespaceInstanceUpdateParamsEmbeddingModelEmpty NamespaceInstanceUpdateParamsEmbeddingModel = ""` - `FusionMethod param.Field[NamespaceInstanceUpdateParamsFusionMethod]` Body param - `const NamespaceInstanceUpdateParamsFusionMethodMax NamespaceInstanceUpdateParamsFusionMethod = "max"` - `const NamespaceInstanceUpdateParamsFusionMethodRrf NamespaceInstanceUpdateParamsFusionMethod = "rrf"` - `IndexMethod param.Field[NamespaceInstanceUpdateParamsIndexMethod]` Body param: Controls which storage backends are used during indexing. Defaults to vector-only. - `Keyword bool` Enable keyword (BM25) storage backend. - `Vector bool` Enable vector (embedding) storage backend. - `IndexingOptions param.Field[NamespaceInstanceUpdateParamsIndexingOptions]` Body param - `KeywordTokenizer NamespaceInstanceUpdateParamsIndexingOptionsKeywordTokenizer` Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. - `const NamespaceInstanceUpdateParamsIndexingOptionsKeywordTokenizerPorter NamespaceInstanceUpdateParamsIndexingOptionsKeywordTokenizer = "porter"` - `const NamespaceInstanceUpdateParamsIndexingOptionsKeywordTokenizerTrigram NamespaceInstanceUpdateParamsIndexingOptionsKeywordTokenizer = "trigram"` - `MaxNumResults param.Field[int64]` Body param - `Metadata param.Field[NamespaceInstanceUpdateParamsMetadata]` Body param - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `Paused param.Field[bool]` Body param - `PublicEndpointParams param.Field[NamespaceInstanceUpdateParamsPublicEndpointParams]` Body param - `AuthorizedHosts []string` - `ChatCompletionsEndpoint NamespaceInstanceUpdateParamsPublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp NamespaceInstanceUpdateParamsPublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit NamespaceInstanceUpdateParamsPublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique NamespaceInstanceUpdateParamsPublicEndpointParamsRateLimitTechnique` - `const NamespaceInstanceUpdateParamsPublicEndpointParamsRateLimitTechniqueFixed NamespaceInstanceUpdateParamsPublicEndpointParamsRateLimitTechnique = "fixed"` - `const NamespaceInstanceUpdateParamsPublicEndpointParamsRateLimitTechniqueSliding NamespaceInstanceUpdateParamsPublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint NamespaceInstanceUpdateParamsPublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking param.Field[bool]` Body param - `RerankingModel param.Field[NamespaceInstanceUpdateParamsRerankingModel]` Body param - `const NamespaceInstanceUpdateParamsRerankingModelCfBaaiBgeRerankerBase NamespaceInstanceUpdateParamsRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceInstanceUpdateParamsRerankingModelEmpty NamespaceInstanceUpdateParamsRerankingModel = ""` - `RetrievalOptions param.Field[NamespaceInstanceUpdateParamsRetrievalOptions]` Body param - `BoostBy []NamespaceInstanceUpdateParamsRetrievalOptionsBoostBy` Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceInstanceUpdateParamsRetrievalOptionsBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceInstanceUpdateParamsRetrievalOptionsBoostByDirectionAsc NamespaceInstanceUpdateParamsRetrievalOptionsBoostByDirection = "asc"` - `const NamespaceInstanceUpdateParamsRetrievalOptionsBoostByDirectionDesc NamespaceInstanceUpdateParamsRetrievalOptionsBoostByDirection = "desc"` - `const NamespaceInstanceUpdateParamsRetrievalOptionsBoostByDirectionExists NamespaceInstanceUpdateParamsRetrievalOptionsBoostByDirection = "exists"` - `const NamespaceInstanceUpdateParamsRetrievalOptionsBoostByDirectionNotExists NamespaceInstanceUpdateParamsRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode NamespaceInstanceUpdateParamsRetrievalOptionsKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceInstanceUpdateParamsRetrievalOptionsKeywordMatchModeAnd NamespaceInstanceUpdateParamsRetrievalOptionsKeywordMatchMode = "and"` - `const NamespaceInstanceUpdateParamsRetrievalOptionsKeywordMatchModeOr NamespaceInstanceUpdateParamsRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel param.Field[NamespaceInstanceUpdateParamsRewriteModel]` Body param - `const NamespaceInstanceUpdateParamsRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceUpdateParamsRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceUpdateParamsRewriteModelCfZaiOrgGlm4_7Flash NamespaceInstanceUpdateParamsRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceUpdateParamsRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceUpdateParamsRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceUpdateParamsRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceUpdateParamsRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceUpdateParamsRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceUpdateParamsRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceUpdateParamsRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceUpdateParamsRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceUpdateParamsRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceUpdateParamsRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceUpdateParamsRewriteModelCfMoonshotaiKimiK2Instruct NamespaceInstanceUpdateParamsRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceUpdateParamsRewriteModelCfGoogleGemma3_12bIt NamespaceInstanceUpdateParamsRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceUpdateParamsRewriteModelCfGoogleGemma4_26bA4bIt NamespaceInstanceUpdateParamsRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceUpdateParamsRewriteModelCfMoonshotaiKimiK2_5 NamespaceInstanceUpdateParamsRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceUpdateParamsRewriteModelAnthropicClaude3_7Sonnet NamespaceInstanceUpdateParamsRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceUpdateParamsRewriteModelAnthropicClaudeSonnet4 NamespaceInstanceUpdateParamsRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceUpdateParamsRewriteModelAnthropicClaudeOpus4 NamespaceInstanceUpdateParamsRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceUpdateParamsRewriteModelAnthropicClaude3_5Haiku NamespaceInstanceUpdateParamsRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceUpdateParamsRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceUpdateParamsRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceUpdateParamsRewriteModelCerebrasQwen3_235bA22bThinking NamespaceInstanceUpdateParamsRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceUpdateParamsRewriteModelCerebrasLlama3_3_70b NamespaceInstanceUpdateParamsRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceUpdateParamsRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceUpdateParamsRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceUpdateParamsRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceUpdateParamsRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceUpdateParamsRewriteModelCerebrasGptOSs120b NamespaceInstanceUpdateParamsRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceUpdateParamsRewriteModelGoogleAIStudioGemini2_5Flash NamespaceInstanceUpdateParamsRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceUpdateParamsRewriteModelGoogleAIStudioGemini2_5Pro NamespaceInstanceUpdateParamsRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceUpdateParamsRewriteModelGrokGrok4 NamespaceInstanceUpdateParamsRewriteModel = "grok/grok-4"` - `const NamespaceInstanceUpdateParamsRewriteModelGroqLlama3_3_70bVersatile NamespaceInstanceUpdateParamsRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceUpdateParamsRewriteModelGroqLlama3_1_8bInstant NamespaceInstanceUpdateParamsRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceUpdateParamsRewriteModelOpenAIGpt5 NamespaceInstanceUpdateParamsRewriteModel = "openai/gpt-5"` - `const NamespaceInstanceUpdateParamsRewriteModelOpenAIGpt5Mini NamespaceInstanceUpdateParamsRewriteModel = "openai/gpt-5-mini"` - `const NamespaceInstanceUpdateParamsRewriteModelOpenAIGpt5Nano NamespaceInstanceUpdateParamsRewriteModel = "openai/gpt-5-nano"` - `const NamespaceInstanceUpdateParamsRewriteModelEmpty NamespaceInstanceUpdateParamsRewriteModel = ""` - `RewriteQuery param.Field[bool]` Body param - `ScoreThreshold param.Field[float64]` Body param - `SourceParams param.Field[NamespaceInstanceUpdateParamsSourceParams]` Body param - `ExcludeItems []string` List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) - `IncludeItems []string` List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) - `Prefix string` - `R2Jurisdiction string` - `WebCrawler NamespaceInstanceUpdateParamsSourceParamsWebCrawler` - `CrawlOptions NamespaceInstanceUpdateParamsSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source NamespaceInstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSource` - `const NamespaceInstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSourceAll NamespaceInstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const NamespaceInstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSourceSitemaps NamespaceInstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const NamespaceInstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSourceLinks NamespaceInstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions NamespaceInstanceUpdateParamsSourceParamsWebCrawlerParseOptions` - `ContentSelector []NamespaceInstanceUpdateParamsSourceParamsWebCrawlerParseOptionsContentSelector` List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. - `Path string` Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories. - `Selector string` CSS selector to extract content from pages matching the path pattern. Must not contain disallowed characters (;, `, $, {, }, ). Must target a single element; if multiple elements match, the selector is ignored and the full page is used. - `IncludeHeaders map[string, string]` Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). - `IncludeImages bool` - `SpecificSitemaps []string` List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. - `UseBrowserRendering bool` - `ParseType NamespaceInstanceUpdateParamsSourceParamsWebCrawlerParseType` - `const NamespaceInstanceUpdateParamsSourceParamsWebCrawlerParseTypeSitemap NamespaceInstanceUpdateParamsSourceParamsWebCrawlerParseType = "sitemap"` - `const NamespaceInstanceUpdateParamsSourceParamsWebCrawlerParseTypeFeedRss NamespaceInstanceUpdateParamsSourceParamsWebCrawlerParseType = "feed-rss"` - `const NamespaceInstanceUpdateParamsSourceParamsWebCrawlerParseTypeCrawl NamespaceInstanceUpdateParamsSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions NamespaceInstanceUpdateParamsSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Summarization param.Field[bool]` Body param - `SummarizationModel param.Field[NamespaceInstanceUpdateParamsSummarizationModel]` Body param - `const NamespaceInstanceUpdateParamsSummarizationModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceUpdateParamsSummarizationModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceUpdateParamsSummarizationModelCfZaiOrgGlm4_7Flash NamespaceInstanceUpdateParamsSummarizationModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceUpdateParamsSummarizationModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceUpdateParamsSummarizationModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceUpdateParamsSummarizationModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceUpdateParamsSummarizationModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceUpdateParamsSummarizationModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceUpdateParamsSummarizationModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceUpdateParamsSummarizationModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceUpdateParamsSummarizationModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceUpdateParamsSummarizationModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceUpdateParamsSummarizationModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceUpdateParamsSummarizationModelCfMoonshotaiKimiK2Instruct NamespaceInstanceUpdateParamsSummarizationModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceUpdateParamsSummarizationModelCfGoogleGemma3_12bIt NamespaceInstanceUpdateParamsSummarizationModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceUpdateParamsSummarizationModelCfGoogleGemma4_26bA4bIt NamespaceInstanceUpdateParamsSummarizationModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceUpdateParamsSummarizationModelCfMoonshotaiKimiK2_5 NamespaceInstanceUpdateParamsSummarizationModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceUpdateParamsSummarizationModelAnthropicClaude3_7Sonnet NamespaceInstanceUpdateParamsSummarizationModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceUpdateParamsSummarizationModelAnthropicClaudeSonnet4 NamespaceInstanceUpdateParamsSummarizationModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceUpdateParamsSummarizationModelAnthropicClaudeOpus4 NamespaceInstanceUpdateParamsSummarizationModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceUpdateParamsSummarizationModelAnthropicClaude3_5Haiku NamespaceInstanceUpdateParamsSummarizationModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceUpdateParamsSummarizationModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceUpdateParamsSummarizationModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceUpdateParamsSummarizationModelCerebrasQwen3_235bA22bThinking NamespaceInstanceUpdateParamsSummarizationModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceUpdateParamsSummarizationModelCerebrasLlama3_3_70b NamespaceInstanceUpdateParamsSummarizationModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceUpdateParamsSummarizationModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceUpdateParamsSummarizationModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceUpdateParamsSummarizationModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceUpdateParamsSummarizationModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceUpdateParamsSummarizationModelCerebrasGptOSs120b NamespaceInstanceUpdateParamsSummarizationModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceUpdateParamsSummarizationModelGoogleAIStudioGemini2_5Flash NamespaceInstanceUpdateParamsSummarizationModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceUpdateParamsSummarizationModelGoogleAIStudioGemini2_5Pro NamespaceInstanceUpdateParamsSummarizationModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceUpdateParamsSummarizationModelGrokGrok4 NamespaceInstanceUpdateParamsSummarizationModel = "grok/grok-4"` - `const NamespaceInstanceUpdateParamsSummarizationModelGroqLlama3_3_70bVersatile NamespaceInstanceUpdateParamsSummarizationModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceUpdateParamsSummarizationModelGroqLlama3_1_8bInstant NamespaceInstanceUpdateParamsSummarizationModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceUpdateParamsSummarizationModelOpenAIGpt5 NamespaceInstanceUpdateParamsSummarizationModel = "openai/gpt-5"` - `const NamespaceInstanceUpdateParamsSummarizationModelOpenAIGpt5Mini NamespaceInstanceUpdateParamsSummarizationModel = "openai/gpt-5-mini"` - `const NamespaceInstanceUpdateParamsSummarizationModelOpenAIGpt5Nano NamespaceInstanceUpdateParamsSummarizationModel = "openai/gpt-5-nano"` - `const NamespaceInstanceUpdateParamsSummarizationModelEmpty NamespaceInstanceUpdateParamsSummarizationModel = ""` - `SyncInterval param.Field[NamespaceInstanceUpdateParamsSyncInterval]` Body param: Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). - `const NamespaceInstanceUpdateParamsSyncInterval900 NamespaceInstanceUpdateParamsSyncInterval = 900` - `const NamespaceInstanceUpdateParamsSyncInterval1800 NamespaceInstanceUpdateParamsSyncInterval = 1800` - `const NamespaceInstanceUpdateParamsSyncInterval3600 NamespaceInstanceUpdateParamsSyncInterval = 3600` - `const NamespaceInstanceUpdateParamsSyncInterval7200 NamespaceInstanceUpdateParamsSyncInterval = 7200` - `const NamespaceInstanceUpdateParamsSyncInterval14400 NamespaceInstanceUpdateParamsSyncInterval = 14400` - `const NamespaceInstanceUpdateParamsSyncInterval21600 NamespaceInstanceUpdateParamsSyncInterval = 21600` - `const NamespaceInstanceUpdateParamsSyncInterval43200 NamespaceInstanceUpdateParamsSyncInterval = 43200` - `const NamespaceInstanceUpdateParamsSyncInterval86400 NamespaceInstanceUpdateParamsSyncInterval = 86400` - `SystemPromptAISearch param.Field[string]` Body param - `SystemPromptIndexSummarization param.Field[string]` Body param - `SystemPromptRewriteQuery param.Field[string]` Body param - `TokenID param.Field[string]` Body param ### Returns - `type NamespaceInstanceUpdateResponse struct{…}` - `ID string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `CreatedAt Time` - `ModifiedAt Time` - `AIGatewayID string` - `AISearchModel NamespaceInstanceUpdateResponseAISearchModel` - `const NamespaceInstanceUpdateResponseAISearchModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceUpdateResponseAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceUpdateResponseAISearchModelCfZaiOrgGlm4_7Flash NamespaceInstanceUpdateResponseAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceUpdateResponseAISearchModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceUpdateResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceUpdateResponseAISearchModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceUpdateResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceUpdateResponseAISearchModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceUpdateResponseAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceUpdateResponseAISearchModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceUpdateResponseAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceUpdateResponseAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceUpdateResponseAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceUpdateResponseAISearchModelCfMoonshotaiKimiK2Instruct NamespaceInstanceUpdateResponseAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceUpdateResponseAISearchModelCfGoogleGemma3_12bIt NamespaceInstanceUpdateResponseAISearchModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceUpdateResponseAISearchModelCfGoogleGemma4_26bA4bIt NamespaceInstanceUpdateResponseAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceUpdateResponseAISearchModelCfMoonshotaiKimiK2_5 NamespaceInstanceUpdateResponseAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceUpdateResponseAISearchModelAnthropicClaude3_7Sonnet NamespaceInstanceUpdateResponseAISearchModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceUpdateResponseAISearchModelAnthropicClaudeSonnet4 NamespaceInstanceUpdateResponseAISearchModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceUpdateResponseAISearchModelAnthropicClaudeOpus4 NamespaceInstanceUpdateResponseAISearchModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceUpdateResponseAISearchModelAnthropicClaude3_5Haiku NamespaceInstanceUpdateResponseAISearchModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceUpdateResponseAISearchModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceUpdateResponseAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceUpdateResponseAISearchModelCerebrasQwen3_235bA22bThinking NamespaceInstanceUpdateResponseAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceUpdateResponseAISearchModelCerebrasLlama3_3_70b NamespaceInstanceUpdateResponseAISearchModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceUpdateResponseAISearchModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceUpdateResponseAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceUpdateResponseAISearchModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceUpdateResponseAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceUpdateResponseAISearchModelCerebrasGptOSs120b NamespaceInstanceUpdateResponseAISearchModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceUpdateResponseAISearchModelGoogleAIStudioGemini2_5Flash NamespaceInstanceUpdateResponseAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceUpdateResponseAISearchModelGoogleAIStudioGemini2_5Pro NamespaceInstanceUpdateResponseAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceUpdateResponseAISearchModelGrokGrok4 NamespaceInstanceUpdateResponseAISearchModel = "grok/grok-4"` - `const NamespaceInstanceUpdateResponseAISearchModelGroqLlama3_3_70bVersatile NamespaceInstanceUpdateResponseAISearchModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceUpdateResponseAISearchModelGroqLlama3_1_8bInstant NamespaceInstanceUpdateResponseAISearchModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceUpdateResponseAISearchModelOpenAIGpt5 NamespaceInstanceUpdateResponseAISearchModel = "openai/gpt-5"` - `const NamespaceInstanceUpdateResponseAISearchModelOpenAIGpt5Mini NamespaceInstanceUpdateResponseAISearchModel = "openai/gpt-5-mini"` - `const NamespaceInstanceUpdateResponseAISearchModelOpenAIGpt5Nano NamespaceInstanceUpdateResponseAISearchModel = "openai/gpt-5-nano"` - `const NamespaceInstanceUpdateResponseAISearchModelEmpty NamespaceInstanceUpdateResponseAISearchModel = ""` - `Cache bool` - `CacheThreshold NamespaceInstanceUpdateResponseCacheThreshold` - `const NamespaceInstanceUpdateResponseCacheThresholdSuperStrictMatch NamespaceInstanceUpdateResponseCacheThreshold = "super_strict_match"` - `const NamespaceInstanceUpdateResponseCacheThresholdCloseEnough NamespaceInstanceUpdateResponseCacheThreshold = "close_enough"` - `const NamespaceInstanceUpdateResponseCacheThresholdFlexibleFriend NamespaceInstanceUpdateResponseCacheThreshold = "flexible_friend"` - `const NamespaceInstanceUpdateResponseCacheThresholdAnythingGoes NamespaceInstanceUpdateResponseCacheThreshold = "anything_goes"` - `CacheTTL NamespaceInstanceUpdateResponseCacheTTL` Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). - `const NamespaceInstanceUpdateResponseCacheTTL600 NamespaceInstanceUpdateResponseCacheTTL = 600` - `const NamespaceInstanceUpdateResponseCacheTTL1800 NamespaceInstanceUpdateResponseCacheTTL = 1800` - `const NamespaceInstanceUpdateResponseCacheTTL3600 NamespaceInstanceUpdateResponseCacheTTL = 3600` - `const NamespaceInstanceUpdateResponseCacheTTL7200 NamespaceInstanceUpdateResponseCacheTTL = 7200` - `const NamespaceInstanceUpdateResponseCacheTTL21600 NamespaceInstanceUpdateResponseCacheTTL = 21600` - `const NamespaceInstanceUpdateResponseCacheTTL43200 NamespaceInstanceUpdateResponseCacheTTL = 43200` - `const NamespaceInstanceUpdateResponseCacheTTL86400 NamespaceInstanceUpdateResponseCacheTTL = 86400` - `const NamespaceInstanceUpdateResponseCacheTTL172800 NamespaceInstanceUpdateResponseCacheTTL = 172800` - `const NamespaceInstanceUpdateResponseCacheTTL259200 NamespaceInstanceUpdateResponseCacheTTL = 259200` - `const NamespaceInstanceUpdateResponseCacheTTL518400 NamespaceInstanceUpdateResponseCacheTTL = 518400` - `ChunkOverlap int64` - `ChunkSize int64` - `CreatedBy string` - `CustomMetadata []NamespaceInstanceUpdateResponseCustomMetadata` - `DataType NamespaceInstanceUpdateResponseCustomMetadataDataType` - `const NamespaceInstanceUpdateResponseCustomMetadataDataTypeText NamespaceInstanceUpdateResponseCustomMetadataDataType = "text"` - `const NamespaceInstanceUpdateResponseCustomMetadataDataTypeNumber NamespaceInstanceUpdateResponseCustomMetadataDataType = "number"` - `const NamespaceInstanceUpdateResponseCustomMetadataDataTypeBoolean NamespaceInstanceUpdateResponseCustomMetadataDataType = "boolean"` - `const NamespaceInstanceUpdateResponseCustomMetadataDataTypeDatetime NamespaceInstanceUpdateResponseCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel NamespaceInstanceUpdateResponseEmbeddingModel` - `const NamespaceInstanceUpdateResponseEmbeddingModelCfQwenQwen3Embedding0_6b NamespaceInstanceUpdateResponseEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const NamespaceInstanceUpdateResponseEmbeddingModelCfBaaiBgeM3 NamespaceInstanceUpdateResponseEmbeddingModel = "@cf/baai/bge-m3"` - `const NamespaceInstanceUpdateResponseEmbeddingModelCfBaaiBgeLargeEnV1_5 NamespaceInstanceUpdateResponseEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const NamespaceInstanceUpdateResponseEmbeddingModelCfGoogleEmbeddinggemma300m NamespaceInstanceUpdateResponseEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const NamespaceInstanceUpdateResponseEmbeddingModelGoogleAIStudioGeminiEmbedding001 NamespaceInstanceUpdateResponseEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const NamespaceInstanceUpdateResponseEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview NamespaceInstanceUpdateResponseEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const NamespaceInstanceUpdateResponseEmbeddingModelOpenAITextEmbedding3Small NamespaceInstanceUpdateResponseEmbeddingModel = "openai/text-embedding-3-small"` - `const NamespaceInstanceUpdateResponseEmbeddingModelOpenAITextEmbedding3Large NamespaceInstanceUpdateResponseEmbeddingModel = "openai/text-embedding-3-large"` - `const NamespaceInstanceUpdateResponseEmbeddingModelEmpty NamespaceInstanceUpdateResponseEmbeddingModel = ""` - `Enable bool` - `EngineVersion float64` - `FusionMethod NamespaceInstanceUpdateResponseFusionMethod` - `const NamespaceInstanceUpdateResponseFusionMethodMax NamespaceInstanceUpdateResponseFusionMethod = "max"` - `const NamespaceInstanceUpdateResponseFusionMethodRrf NamespaceInstanceUpdateResponseFusionMethod = "rrf"` - `HybridSearchEnabled bool` Deprecated — use index_method instead. - `IndexMethod NamespaceInstanceUpdateResponseIndexMethod` Controls which storage backends are used during indexing. Defaults to vector-only. - `Keyword bool` Enable keyword (BM25) storage backend. - `Vector bool` Enable vector (embedding) storage backend. - `IndexingOptions NamespaceInstanceUpdateResponseIndexingOptions` - `KeywordTokenizer NamespaceInstanceUpdateResponseIndexingOptionsKeywordTokenizer` Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. - `const NamespaceInstanceUpdateResponseIndexingOptionsKeywordTokenizerPorter NamespaceInstanceUpdateResponseIndexingOptionsKeywordTokenizer = "porter"` - `const NamespaceInstanceUpdateResponseIndexingOptionsKeywordTokenizerTrigram NamespaceInstanceUpdateResponseIndexingOptionsKeywordTokenizer = "trigram"` - `LastActivity Time` - `MaxNumResults int64` - `Metadata NamespaceInstanceUpdateResponseMetadata` - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `ModifiedBy string` - `Namespace string` - `Paused bool` - `PublicEndpointID string` - `PublicEndpointParams NamespaceInstanceUpdateResponsePublicEndpointParams` - `AuthorizedHosts []string` - `ChatCompletionsEndpoint NamespaceInstanceUpdateResponsePublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp NamespaceInstanceUpdateResponsePublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit NamespaceInstanceUpdateResponsePublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique NamespaceInstanceUpdateResponsePublicEndpointParamsRateLimitTechnique` - `const NamespaceInstanceUpdateResponsePublicEndpointParamsRateLimitTechniqueFixed NamespaceInstanceUpdateResponsePublicEndpointParamsRateLimitTechnique = "fixed"` - `const NamespaceInstanceUpdateResponsePublicEndpointParamsRateLimitTechniqueSliding NamespaceInstanceUpdateResponsePublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint NamespaceInstanceUpdateResponsePublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking bool` - `RerankingModel NamespaceInstanceUpdateResponseRerankingModel` - `const NamespaceInstanceUpdateResponseRerankingModelCfBaaiBgeRerankerBase NamespaceInstanceUpdateResponseRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceInstanceUpdateResponseRerankingModelEmpty NamespaceInstanceUpdateResponseRerankingModel = ""` - `RetrievalOptions NamespaceInstanceUpdateResponseRetrievalOptions` - `BoostBy []NamespaceInstanceUpdateResponseRetrievalOptionsBoostBy` Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceInstanceUpdateResponseRetrievalOptionsBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceInstanceUpdateResponseRetrievalOptionsBoostByDirectionAsc NamespaceInstanceUpdateResponseRetrievalOptionsBoostByDirection = "asc"` - `const NamespaceInstanceUpdateResponseRetrievalOptionsBoostByDirectionDesc NamespaceInstanceUpdateResponseRetrievalOptionsBoostByDirection = "desc"` - `const NamespaceInstanceUpdateResponseRetrievalOptionsBoostByDirectionExists NamespaceInstanceUpdateResponseRetrievalOptionsBoostByDirection = "exists"` - `const NamespaceInstanceUpdateResponseRetrievalOptionsBoostByDirectionNotExists NamespaceInstanceUpdateResponseRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode NamespaceInstanceUpdateResponseRetrievalOptionsKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceInstanceUpdateResponseRetrievalOptionsKeywordMatchModeAnd NamespaceInstanceUpdateResponseRetrievalOptionsKeywordMatchMode = "and"` - `const NamespaceInstanceUpdateResponseRetrievalOptionsKeywordMatchModeOr NamespaceInstanceUpdateResponseRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel NamespaceInstanceUpdateResponseRewriteModel` - `const NamespaceInstanceUpdateResponseRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceUpdateResponseRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceUpdateResponseRewriteModelCfZaiOrgGlm4_7Flash NamespaceInstanceUpdateResponseRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceUpdateResponseRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceUpdateResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceUpdateResponseRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceUpdateResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceUpdateResponseRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceUpdateResponseRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceUpdateResponseRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceUpdateResponseRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceUpdateResponseRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceUpdateResponseRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceUpdateResponseRewriteModelCfMoonshotaiKimiK2Instruct NamespaceInstanceUpdateResponseRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceUpdateResponseRewriteModelCfGoogleGemma3_12bIt NamespaceInstanceUpdateResponseRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceUpdateResponseRewriteModelCfGoogleGemma4_26bA4bIt NamespaceInstanceUpdateResponseRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceUpdateResponseRewriteModelCfMoonshotaiKimiK2_5 NamespaceInstanceUpdateResponseRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceUpdateResponseRewriteModelAnthropicClaude3_7Sonnet NamespaceInstanceUpdateResponseRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceUpdateResponseRewriteModelAnthropicClaudeSonnet4 NamespaceInstanceUpdateResponseRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceUpdateResponseRewriteModelAnthropicClaudeOpus4 NamespaceInstanceUpdateResponseRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceUpdateResponseRewriteModelAnthropicClaude3_5Haiku NamespaceInstanceUpdateResponseRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceUpdateResponseRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceUpdateResponseRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceUpdateResponseRewriteModelCerebrasQwen3_235bA22bThinking NamespaceInstanceUpdateResponseRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceUpdateResponseRewriteModelCerebrasLlama3_3_70b NamespaceInstanceUpdateResponseRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceUpdateResponseRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceUpdateResponseRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceUpdateResponseRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceUpdateResponseRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceUpdateResponseRewriteModelCerebrasGptOSs120b NamespaceInstanceUpdateResponseRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceUpdateResponseRewriteModelGoogleAIStudioGemini2_5Flash NamespaceInstanceUpdateResponseRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceUpdateResponseRewriteModelGoogleAIStudioGemini2_5Pro NamespaceInstanceUpdateResponseRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceUpdateResponseRewriteModelGrokGrok4 NamespaceInstanceUpdateResponseRewriteModel = "grok/grok-4"` - `const NamespaceInstanceUpdateResponseRewriteModelGroqLlama3_3_70bVersatile NamespaceInstanceUpdateResponseRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceUpdateResponseRewriteModelGroqLlama3_1_8bInstant NamespaceInstanceUpdateResponseRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceUpdateResponseRewriteModelOpenAIGpt5 NamespaceInstanceUpdateResponseRewriteModel = "openai/gpt-5"` - `const NamespaceInstanceUpdateResponseRewriteModelOpenAIGpt5Mini NamespaceInstanceUpdateResponseRewriteModel = "openai/gpt-5-mini"` - `const NamespaceInstanceUpdateResponseRewriteModelOpenAIGpt5Nano NamespaceInstanceUpdateResponseRewriteModel = "openai/gpt-5-nano"` - `const NamespaceInstanceUpdateResponseRewriteModelEmpty NamespaceInstanceUpdateResponseRewriteModel = ""` - `RewriteQuery bool` - `ScoreThreshold float64` - `Source string` - `SourceParams NamespaceInstanceUpdateResponseSourceParams` - `ExcludeItems []string` List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) - `IncludeItems []string` List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) - `Prefix string` - `R2Jurisdiction string` - `WebCrawler NamespaceInstanceUpdateResponseSourceParamsWebCrawler` - `CrawlOptions NamespaceInstanceUpdateResponseSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source NamespaceInstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSource` - `const NamespaceInstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSourceAll NamespaceInstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const NamespaceInstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSourceSitemaps NamespaceInstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const NamespaceInstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSourceLinks NamespaceInstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions NamespaceInstanceUpdateResponseSourceParamsWebCrawlerParseOptions` - `ContentSelector []NamespaceInstanceUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelector` List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. - `Path string` Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories. - `Selector string` CSS selector to extract content from pages matching the path pattern. Must not contain disallowed characters (;, `, $, {, }, ). Must target a single element; if multiple elements match, the selector is ignored and the full page is used. - `IncludeHeaders map[string, string]` Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). - `IncludeImages bool` - `SpecificSitemaps []string` List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. - `UseBrowserRendering bool` - `ParseType NamespaceInstanceUpdateResponseSourceParamsWebCrawlerParseType` - `const NamespaceInstanceUpdateResponseSourceParamsWebCrawlerParseTypeSitemap NamespaceInstanceUpdateResponseSourceParamsWebCrawlerParseType = "sitemap"` - `const NamespaceInstanceUpdateResponseSourceParamsWebCrawlerParseTypeFeedRss NamespaceInstanceUpdateResponseSourceParamsWebCrawlerParseType = "feed-rss"` - `const NamespaceInstanceUpdateResponseSourceParamsWebCrawlerParseTypeCrawl NamespaceInstanceUpdateResponseSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions NamespaceInstanceUpdateResponseSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Status string` - `SyncInterval NamespaceInstanceUpdateResponseSyncInterval` Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). - `const NamespaceInstanceUpdateResponseSyncInterval900 NamespaceInstanceUpdateResponseSyncInterval = 900` - `const NamespaceInstanceUpdateResponseSyncInterval1800 NamespaceInstanceUpdateResponseSyncInterval = 1800` - `const NamespaceInstanceUpdateResponseSyncInterval3600 NamespaceInstanceUpdateResponseSyncInterval = 3600` - `const NamespaceInstanceUpdateResponseSyncInterval7200 NamespaceInstanceUpdateResponseSyncInterval = 7200` - `const NamespaceInstanceUpdateResponseSyncInterval14400 NamespaceInstanceUpdateResponseSyncInterval = 14400` - `const NamespaceInstanceUpdateResponseSyncInterval21600 NamespaceInstanceUpdateResponseSyncInterval = 21600` - `const NamespaceInstanceUpdateResponseSyncInterval43200 NamespaceInstanceUpdateResponseSyncInterval = 43200` - `const NamespaceInstanceUpdateResponseSyncInterval86400 NamespaceInstanceUpdateResponseSyncInterval = 86400` - `TokenID string` - `Type NamespaceInstanceUpdateResponseType` - `const NamespaceInstanceUpdateResponseTypeR2 NamespaceInstanceUpdateResponseType = "r2"` - `const NamespaceInstanceUpdateResponseTypeWebCrawler NamespaceInstanceUpdateResponseType = "web-crawler"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) instance, err := client.AISearch.Namespaces.Instances.Update( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceUpdateParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", instance.ID) } ``` #### Response ```json { "result": { "id": "my-ai-search", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "ai_gateway_id": "ai_gateway_id", "ai_search_model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", "cache": true, "cache_threshold": "super_strict_match", "cache_ttl": 600, "chunk_overlap": 0, "chunk_size": 64, "created_by": "created_by", "custom_metadata": [ { "data_type": "text", "field_name": "x" } ], "embedding_model": "@cf/qwen/qwen3-embedding-0.6b", "enable": true, "engine_version": 0, "fusion_method": "max", "hybrid_search_enabled": true, "index_method": { "keyword": true, "vector": true }, "indexing_options": { "keyword_tokenizer": "porter" }, "last_activity": "2019-12-27T18:11:19.117Z", "max_num_results": 1, "metadata": { "created_from_aisearch_wizard": true, "worker_domain": "worker_domain" }, "modified_by": "modified_by", "namespace": "namespace", "paused": true, "public_endpoint_id": "public_endpoint_id", "public_endpoint_params": { "authorized_hosts": [ "string" ], "chat_completions_endpoint": { "disabled": true }, "enabled": true, "mcp": { "description": "description", "disabled": true }, "rate_limit": { "period_ms": 60000, "requests": 1, "technique": "fixed" }, "search_endpoint": { "disabled": true } }, "reranking": true, "reranking_model": "@cf/baai/bge-reranker-base", "retrieval_options": { "boost_by": [ { "field": "timestamp", "direction": "desc" } ], "keyword_match_mode": "and" }, "rewrite_model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", "rewrite_query": true, "score_threshold": 0, "source": "source", "source_params": { "exclude_items": [ "/admin/**", "/private/**", "**\\temp\\**" ], "include_items": [ "/blog/**", "/docs/**/*.html", "**\\blog\\**.html" ], "prefix": "prefix", "r2_jurisdiction": "r2_jurisdiction", "web_crawler": { "crawl_options": { "depth": 1, "include_external_links": true, "include_subdomains": true, "max_age": 0, "source": "all" }, "parse_options": { "content_selector": [ { "path": "**/blog/**", "selector": "article div.post-body" }, { "path": "**/docs/**", "selector": "main" } ], "include_headers": { "cache-control": "no-cache, no-store" }, "include_images": true, "specific_sitemaps": [ "https://example.com/sitemap.xml", "https://example.com/blog-sitemap.xml" ], "use_browser_rendering": true }, "parse_type": "sitemap", "store_options": { "storage_id": "storage_id", "r2_jurisdiction": "r2_jurisdiction", "storage_type": "r2" } } }, "status": "status", "sync_interval": 900, "token_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "type": "r2" }, "success": true } ``` ## Delete instance. `client.AISearch.Namespaces.Instances.Delete(ctx, name, id, body) (*NamespaceInstanceDeleteResponse, error)` **delete** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}` Delete instance. ### Parameters - `name string` - `id string` - `body NamespaceInstanceDeleteParams` - `AccountID param.Field[string]` ### Returns - `type NamespaceInstanceDeleteResponse struct{…}` - `ID string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `CreatedAt Time` - `ModifiedAt Time` - `AIGatewayID string` - `AISearchModel NamespaceInstanceDeleteResponseAISearchModel` - `const NamespaceInstanceDeleteResponseAISearchModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceDeleteResponseAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceDeleteResponseAISearchModelCfZaiOrgGlm4_7Flash NamespaceInstanceDeleteResponseAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceDeleteResponseAISearchModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceDeleteResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceDeleteResponseAISearchModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceDeleteResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceDeleteResponseAISearchModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceDeleteResponseAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceDeleteResponseAISearchModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceDeleteResponseAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceDeleteResponseAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceDeleteResponseAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceDeleteResponseAISearchModelCfMoonshotaiKimiK2Instruct NamespaceInstanceDeleteResponseAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceDeleteResponseAISearchModelCfGoogleGemma3_12bIt NamespaceInstanceDeleteResponseAISearchModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceDeleteResponseAISearchModelCfGoogleGemma4_26bA4bIt NamespaceInstanceDeleteResponseAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceDeleteResponseAISearchModelCfMoonshotaiKimiK2_5 NamespaceInstanceDeleteResponseAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceDeleteResponseAISearchModelAnthropicClaude3_7Sonnet NamespaceInstanceDeleteResponseAISearchModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceDeleteResponseAISearchModelAnthropicClaudeSonnet4 NamespaceInstanceDeleteResponseAISearchModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceDeleteResponseAISearchModelAnthropicClaudeOpus4 NamespaceInstanceDeleteResponseAISearchModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceDeleteResponseAISearchModelAnthropicClaude3_5Haiku NamespaceInstanceDeleteResponseAISearchModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceDeleteResponseAISearchModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceDeleteResponseAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceDeleteResponseAISearchModelCerebrasQwen3_235bA22bThinking NamespaceInstanceDeleteResponseAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceDeleteResponseAISearchModelCerebrasLlama3_3_70b NamespaceInstanceDeleteResponseAISearchModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceDeleteResponseAISearchModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceDeleteResponseAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceDeleteResponseAISearchModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceDeleteResponseAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceDeleteResponseAISearchModelCerebrasGptOSs120b NamespaceInstanceDeleteResponseAISearchModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceDeleteResponseAISearchModelGoogleAIStudioGemini2_5Flash NamespaceInstanceDeleteResponseAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceDeleteResponseAISearchModelGoogleAIStudioGemini2_5Pro NamespaceInstanceDeleteResponseAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceDeleteResponseAISearchModelGrokGrok4 NamespaceInstanceDeleteResponseAISearchModel = "grok/grok-4"` - `const NamespaceInstanceDeleteResponseAISearchModelGroqLlama3_3_70bVersatile NamespaceInstanceDeleteResponseAISearchModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceDeleteResponseAISearchModelGroqLlama3_1_8bInstant NamespaceInstanceDeleteResponseAISearchModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceDeleteResponseAISearchModelOpenAIGpt5 NamespaceInstanceDeleteResponseAISearchModel = "openai/gpt-5"` - `const NamespaceInstanceDeleteResponseAISearchModelOpenAIGpt5Mini NamespaceInstanceDeleteResponseAISearchModel = "openai/gpt-5-mini"` - `const NamespaceInstanceDeleteResponseAISearchModelOpenAIGpt5Nano NamespaceInstanceDeleteResponseAISearchModel = "openai/gpt-5-nano"` - `const NamespaceInstanceDeleteResponseAISearchModelEmpty NamespaceInstanceDeleteResponseAISearchModel = ""` - `Cache bool` - `CacheThreshold NamespaceInstanceDeleteResponseCacheThreshold` - `const NamespaceInstanceDeleteResponseCacheThresholdSuperStrictMatch NamespaceInstanceDeleteResponseCacheThreshold = "super_strict_match"` - `const NamespaceInstanceDeleteResponseCacheThresholdCloseEnough NamespaceInstanceDeleteResponseCacheThreshold = "close_enough"` - `const NamespaceInstanceDeleteResponseCacheThresholdFlexibleFriend NamespaceInstanceDeleteResponseCacheThreshold = "flexible_friend"` - `const NamespaceInstanceDeleteResponseCacheThresholdAnythingGoes NamespaceInstanceDeleteResponseCacheThreshold = "anything_goes"` - `CacheTTL NamespaceInstanceDeleteResponseCacheTTL` Cache entry TTL in seconds. Allowed values: 600 (10min), 1800 (30min), 3600 (1h), 7200 (2h), 21600 (6h), 43200 (12h), 86400 (24h), 172800 (48h), 259200 (72h), 518400 (6d). - `const NamespaceInstanceDeleteResponseCacheTTL600 NamespaceInstanceDeleteResponseCacheTTL = 600` - `const NamespaceInstanceDeleteResponseCacheTTL1800 NamespaceInstanceDeleteResponseCacheTTL = 1800` - `const NamespaceInstanceDeleteResponseCacheTTL3600 NamespaceInstanceDeleteResponseCacheTTL = 3600` - `const NamespaceInstanceDeleteResponseCacheTTL7200 NamespaceInstanceDeleteResponseCacheTTL = 7200` - `const NamespaceInstanceDeleteResponseCacheTTL21600 NamespaceInstanceDeleteResponseCacheTTL = 21600` - `const NamespaceInstanceDeleteResponseCacheTTL43200 NamespaceInstanceDeleteResponseCacheTTL = 43200` - `const NamespaceInstanceDeleteResponseCacheTTL86400 NamespaceInstanceDeleteResponseCacheTTL = 86400` - `const NamespaceInstanceDeleteResponseCacheTTL172800 NamespaceInstanceDeleteResponseCacheTTL = 172800` - `const NamespaceInstanceDeleteResponseCacheTTL259200 NamespaceInstanceDeleteResponseCacheTTL = 259200` - `const NamespaceInstanceDeleteResponseCacheTTL518400 NamespaceInstanceDeleteResponseCacheTTL = 518400` - `ChunkOverlap int64` - `ChunkSize int64` - `CreatedBy string` - `CustomMetadata []NamespaceInstanceDeleteResponseCustomMetadata` - `DataType NamespaceInstanceDeleteResponseCustomMetadataDataType` - `const NamespaceInstanceDeleteResponseCustomMetadataDataTypeText NamespaceInstanceDeleteResponseCustomMetadataDataType = "text"` - `const NamespaceInstanceDeleteResponseCustomMetadataDataTypeNumber NamespaceInstanceDeleteResponseCustomMetadataDataType = "number"` - `const NamespaceInstanceDeleteResponseCustomMetadataDataTypeBoolean NamespaceInstanceDeleteResponseCustomMetadataDataType = "boolean"` - `const NamespaceInstanceDeleteResponseCustomMetadataDataTypeDatetime NamespaceInstanceDeleteResponseCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel NamespaceInstanceDeleteResponseEmbeddingModel` - `const NamespaceInstanceDeleteResponseEmbeddingModelCfQwenQwen3Embedding0_6b NamespaceInstanceDeleteResponseEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const NamespaceInstanceDeleteResponseEmbeddingModelCfBaaiBgeM3 NamespaceInstanceDeleteResponseEmbeddingModel = "@cf/baai/bge-m3"` - `const NamespaceInstanceDeleteResponseEmbeddingModelCfBaaiBgeLargeEnV1_5 NamespaceInstanceDeleteResponseEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const NamespaceInstanceDeleteResponseEmbeddingModelCfGoogleEmbeddinggemma300m NamespaceInstanceDeleteResponseEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const NamespaceInstanceDeleteResponseEmbeddingModelGoogleAIStudioGeminiEmbedding001 NamespaceInstanceDeleteResponseEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const NamespaceInstanceDeleteResponseEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview NamespaceInstanceDeleteResponseEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const NamespaceInstanceDeleteResponseEmbeddingModelOpenAITextEmbedding3Small NamespaceInstanceDeleteResponseEmbeddingModel = "openai/text-embedding-3-small"` - `const NamespaceInstanceDeleteResponseEmbeddingModelOpenAITextEmbedding3Large NamespaceInstanceDeleteResponseEmbeddingModel = "openai/text-embedding-3-large"` - `const NamespaceInstanceDeleteResponseEmbeddingModelEmpty NamespaceInstanceDeleteResponseEmbeddingModel = ""` - `Enable bool` - `EngineVersion float64` - `FusionMethod NamespaceInstanceDeleteResponseFusionMethod` - `const NamespaceInstanceDeleteResponseFusionMethodMax NamespaceInstanceDeleteResponseFusionMethod = "max"` - `const NamespaceInstanceDeleteResponseFusionMethodRrf NamespaceInstanceDeleteResponseFusionMethod = "rrf"` - `HybridSearchEnabled bool` Deprecated — use index_method instead. - `IndexMethod NamespaceInstanceDeleteResponseIndexMethod` Controls which storage backends are used during indexing. Defaults to vector-only. - `Keyword bool` Enable keyword (BM25) storage backend. - `Vector bool` Enable vector (embedding) storage backend. - `IndexingOptions NamespaceInstanceDeleteResponseIndexingOptions` - `KeywordTokenizer NamespaceInstanceDeleteResponseIndexingOptionsKeywordTokenizer` Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter. - `const NamespaceInstanceDeleteResponseIndexingOptionsKeywordTokenizerPorter NamespaceInstanceDeleteResponseIndexingOptionsKeywordTokenizer = "porter"` - `const NamespaceInstanceDeleteResponseIndexingOptionsKeywordTokenizerTrigram NamespaceInstanceDeleteResponseIndexingOptionsKeywordTokenizer = "trigram"` - `LastActivity Time` - `MaxNumResults int64` - `Metadata NamespaceInstanceDeleteResponseMetadata` - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `ModifiedBy string` - `Namespace string` - `Paused bool` - `PublicEndpointID string` - `PublicEndpointParams NamespaceInstanceDeleteResponsePublicEndpointParams` - `AuthorizedHosts []string` - `ChatCompletionsEndpoint NamespaceInstanceDeleteResponsePublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp NamespaceInstanceDeleteResponsePublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit NamespaceInstanceDeleteResponsePublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique NamespaceInstanceDeleteResponsePublicEndpointParamsRateLimitTechnique` - `const NamespaceInstanceDeleteResponsePublicEndpointParamsRateLimitTechniqueFixed NamespaceInstanceDeleteResponsePublicEndpointParamsRateLimitTechnique = "fixed"` - `const NamespaceInstanceDeleteResponsePublicEndpointParamsRateLimitTechniqueSliding NamespaceInstanceDeleteResponsePublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint NamespaceInstanceDeleteResponsePublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking bool` - `RerankingModel NamespaceInstanceDeleteResponseRerankingModel` - `const NamespaceInstanceDeleteResponseRerankingModelCfBaaiBgeRerankerBase NamespaceInstanceDeleteResponseRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceInstanceDeleteResponseRerankingModelEmpty NamespaceInstanceDeleteResponseRerankingModel = ""` - `RetrievalOptions NamespaceInstanceDeleteResponseRetrievalOptions` - `BoostBy []NamespaceInstanceDeleteResponseRetrievalOptionsBoostBy` Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to 'asc' for numeric fields and 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceInstanceDeleteResponseRetrievalOptionsBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceInstanceDeleteResponseRetrievalOptionsBoostByDirectionAsc NamespaceInstanceDeleteResponseRetrievalOptionsBoostByDirection = "asc"` - `const NamespaceInstanceDeleteResponseRetrievalOptionsBoostByDirectionDesc NamespaceInstanceDeleteResponseRetrievalOptionsBoostByDirection = "desc"` - `const NamespaceInstanceDeleteResponseRetrievalOptionsBoostByDirectionExists NamespaceInstanceDeleteResponseRetrievalOptionsBoostByDirection = "exists"` - `const NamespaceInstanceDeleteResponseRetrievalOptionsBoostByDirectionNotExists NamespaceInstanceDeleteResponseRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode NamespaceInstanceDeleteResponseRetrievalOptionsKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceInstanceDeleteResponseRetrievalOptionsKeywordMatchModeAnd NamespaceInstanceDeleteResponseRetrievalOptionsKeywordMatchMode = "and"` - `const NamespaceInstanceDeleteResponseRetrievalOptionsKeywordMatchModeOr NamespaceInstanceDeleteResponseRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel NamespaceInstanceDeleteResponseRewriteModel` - `const NamespaceInstanceDeleteResponseRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceDeleteResponseRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceDeleteResponseRewriteModelCfZaiOrgGlm4_7Flash NamespaceInstanceDeleteResponseRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceDeleteResponseRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceDeleteResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceDeleteResponseRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceDeleteResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceDeleteResponseRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceDeleteResponseRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceDeleteResponseRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceDeleteResponseRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceDeleteResponseRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceDeleteResponseRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceDeleteResponseRewriteModelCfMoonshotaiKimiK2Instruct NamespaceInstanceDeleteResponseRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceDeleteResponseRewriteModelCfGoogleGemma3_12bIt NamespaceInstanceDeleteResponseRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceDeleteResponseRewriteModelCfGoogleGemma4_26bA4bIt NamespaceInstanceDeleteResponseRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceDeleteResponseRewriteModelCfMoonshotaiKimiK2_5 NamespaceInstanceDeleteResponseRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceDeleteResponseRewriteModelAnthropicClaude3_7Sonnet NamespaceInstanceDeleteResponseRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceDeleteResponseRewriteModelAnthropicClaudeSonnet4 NamespaceInstanceDeleteResponseRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceDeleteResponseRewriteModelAnthropicClaudeOpus4 NamespaceInstanceDeleteResponseRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceDeleteResponseRewriteModelAnthropicClaude3_5Haiku NamespaceInstanceDeleteResponseRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceDeleteResponseRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceDeleteResponseRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceDeleteResponseRewriteModelCerebrasQwen3_235bA22bThinking NamespaceInstanceDeleteResponseRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceDeleteResponseRewriteModelCerebrasLlama3_3_70b NamespaceInstanceDeleteResponseRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceDeleteResponseRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceDeleteResponseRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceDeleteResponseRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceDeleteResponseRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceDeleteResponseRewriteModelCerebrasGptOSs120b NamespaceInstanceDeleteResponseRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceDeleteResponseRewriteModelGoogleAIStudioGemini2_5Flash NamespaceInstanceDeleteResponseRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceDeleteResponseRewriteModelGoogleAIStudioGemini2_5Pro NamespaceInstanceDeleteResponseRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceDeleteResponseRewriteModelGrokGrok4 NamespaceInstanceDeleteResponseRewriteModel = "grok/grok-4"` - `const NamespaceInstanceDeleteResponseRewriteModelGroqLlama3_3_70bVersatile NamespaceInstanceDeleteResponseRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceDeleteResponseRewriteModelGroqLlama3_1_8bInstant NamespaceInstanceDeleteResponseRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceDeleteResponseRewriteModelOpenAIGpt5 NamespaceInstanceDeleteResponseRewriteModel = "openai/gpt-5"` - `const NamespaceInstanceDeleteResponseRewriteModelOpenAIGpt5Mini NamespaceInstanceDeleteResponseRewriteModel = "openai/gpt-5-mini"` - `const NamespaceInstanceDeleteResponseRewriteModelOpenAIGpt5Nano NamespaceInstanceDeleteResponseRewriteModel = "openai/gpt-5-nano"` - `const NamespaceInstanceDeleteResponseRewriteModelEmpty NamespaceInstanceDeleteResponseRewriteModel = ""` - `RewriteQuery bool` - `ScoreThreshold float64` - `Source string` - `SourceParams NamespaceInstanceDeleteResponseSourceParams` - `ExcludeItems []string` List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced) - `IncludeItems []string` List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post) - `Prefix string` - `R2Jurisdiction string` - `WebCrawler NamespaceInstanceDeleteResponseSourceParamsWebCrawler` - `CrawlOptions NamespaceInstanceDeleteResponseSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source NamespaceInstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSource` - `const NamespaceInstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSourceAll NamespaceInstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const NamespaceInstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSourceSitemaps NamespaceInstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const NamespaceInstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSourceLinks NamespaceInstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions NamespaceInstanceDeleteResponseSourceParamsWebCrawlerParseOptions` - `ContentSelector []NamespaceInstanceDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelector` List of path-to-selector mappings for extracting specific content from crawled pages. Each entry pairs a URL glob pattern with a CSS selector. The first matching path wins. Only the matched HTML fragment is stored and indexed. Omit the field to disable content selection — empty arrays are rejected. - `Path string` Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories. - `Selector string` CSS selector to extract content from pages matching the path pattern. Must not contain disallowed characters (;, `, $, {, }, ). Must target a single element; if multiple elements match, the selector is ignored and the full page is used. - `IncludeHeaders map[string, string]` Up to 5 custom HTTP headers sent with each crawl request. Names must be RFC-7230 token characters (no spaces, colons, or control characters); values must be HTAB + printable ASCII (no CR/LF). - `IncludeImages bool` - `SpecificSitemaps []string` List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'. - `UseBrowserRendering bool` - `ParseType NamespaceInstanceDeleteResponseSourceParamsWebCrawlerParseType` - `const NamespaceInstanceDeleteResponseSourceParamsWebCrawlerParseTypeSitemap NamespaceInstanceDeleteResponseSourceParamsWebCrawlerParseType = "sitemap"` - `const NamespaceInstanceDeleteResponseSourceParamsWebCrawlerParseTypeFeedRss NamespaceInstanceDeleteResponseSourceParamsWebCrawlerParseType = "feed-rss"` - `const NamespaceInstanceDeleteResponseSourceParamsWebCrawlerParseTypeCrawl NamespaceInstanceDeleteResponseSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions NamespaceInstanceDeleteResponseSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Status string` - `SyncInterval NamespaceInstanceDeleteResponseSyncInterval` Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h). - `const NamespaceInstanceDeleteResponseSyncInterval900 NamespaceInstanceDeleteResponseSyncInterval = 900` - `const NamespaceInstanceDeleteResponseSyncInterval1800 NamespaceInstanceDeleteResponseSyncInterval = 1800` - `const NamespaceInstanceDeleteResponseSyncInterval3600 NamespaceInstanceDeleteResponseSyncInterval = 3600` - `const NamespaceInstanceDeleteResponseSyncInterval7200 NamespaceInstanceDeleteResponseSyncInterval = 7200` - `const NamespaceInstanceDeleteResponseSyncInterval14400 NamespaceInstanceDeleteResponseSyncInterval = 14400` - `const NamespaceInstanceDeleteResponseSyncInterval21600 NamespaceInstanceDeleteResponseSyncInterval = 21600` - `const NamespaceInstanceDeleteResponseSyncInterval43200 NamespaceInstanceDeleteResponseSyncInterval = 43200` - `const NamespaceInstanceDeleteResponseSyncInterval86400 NamespaceInstanceDeleteResponseSyncInterval = 86400` - `TokenID string` - `Type NamespaceInstanceDeleteResponseType` - `const NamespaceInstanceDeleteResponseTypeR2 NamespaceInstanceDeleteResponseType = "r2"` - `const NamespaceInstanceDeleteResponseTypeWebCrawler NamespaceInstanceDeleteResponseType = "web-crawler"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) instance, err := client.AISearch.Namespaces.Instances.Delete( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceDeleteParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", instance.ID) } ``` #### Response ```json { "result": { "id": "my-ai-search", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "ai_gateway_id": "ai_gateway_id", "ai_search_model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", "cache": true, "cache_threshold": "super_strict_match", "cache_ttl": 600, "chunk_overlap": 0, "chunk_size": 64, "created_by": "created_by", "custom_metadata": [ { "data_type": "text", "field_name": "x" } ], "embedding_model": "@cf/qwen/qwen3-embedding-0.6b", "enable": true, "engine_version": 0, "fusion_method": "max", "hybrid_search_enabled": true, "index_method": { "keyword": true, "vector": true }, "indexing_options": { "keyword_tokenizer": "porter" }, "last_activity": "2019-12-27T18:11:19.117Z", "max_num_results": 1, "metadata": { "created_from_aisearch_wizard": true, "worker_domain": "worker_domain" }, "modified_by": "modified_by", "namespace": "namespace", "paused": true, "public_endpoint_id": "public_endpoint_id", "public_endpoint_params": { "authorized_hosts": [ "string" ], "chat_completions_endpoint": { "disabled": true }, "enabled": true, "mcp": { "description": "description", "disabled": true }, "rate_limit": { "period_ms": 60000, "requests": 1, "technique": "fixed" }, "search_endpoint": { "disabled": true } }, "reranking": true, "reranking_model": "@cf/baai/bge-reranker-base", "retrieval_options": { "boost_by": [ { "field": "timestamp", "direction": "desc" } ], "keyword_match_mode": "and" }, "rewrite_model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", "rewrite_query": true, "score_threshold": 0, "source": "source", "source_params": { "exclude_items": [ "/admin/**", "/private/**", "**\\temp\\**" ], "include_items": [ "/blog/**", "/docs/**/*.html", "**\\blog\\**.html" ], "prefix": "prefix", "r2_jurisdiction": "r2_jurisdiction", "web_crawler": { "crawl_options": { "depth": 1, "include_external_links": true, "include_subdomains": true, "max_age": 0, "source": "all" }, "parse_options": { "content_selector": [ { "path": "**/blog/**", "selector": "article div.post-body" }, { "path": "**/docs/**", "selector": "main" } ], "include_headers": { "cache-control": "no-cache, no-store" }, "include_images": true, "specific_sitemaps": [ "https://example.com/sitemap.xml", "https://example.com/blog-sitemap.xml" ], "use_browser_rendering": true }, "parse_type": "sitemap", "store_options": { "storage_id": "storage_id", "r2_jurisdiction": "r2_jurisdiction", "storage_type": "r2" } } }, "status": "status", "sync_interval": 900, "token_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "type": "r2" }, "success": true } ``` ## Stats `client.AISearch.Namespaces.Instances.Stats(ctx, name, id, query) (*NamespaceInstanceStatsResponse, error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/stats` Retrieves usage statistics for AI Search instances. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `query NamespaceInstanceStatsParams` - `AccountID param.Field[string]` ### Returns - `type NamespaceInstanceStatsResponse struct{…}` - `Completed int64` - `Engine NamespaceInstanceStatsResponseEngine` Engine-specific metadata. Present only for managed (v3) instances. - `R2 NamespaceInstanceStatsResponseEngineR2` R2 bucket storage usage in bytes. - `MetadataSizeBytes int64` - `ObjectCount int64` - `PayloadSizeBytes int64` - `Vectorize NamespaceInstanceStatsResponseEngineVectorize` Vectorize index metadata (dimensions, vector count). - `Dimensions int64` - `VectorsCount int64` - `Error int64` - `FileEmbedErrors map[string, unknown]` - `IndexSourceErrors map[string, unknown]` - `LastActivity Time` - `Outdated int64` - `Queued int64` - `Running int64` - `Skipped int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.Stats( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceStatsParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Completed) } ``` #### Response ```json { "result": { "completed": 0, "engine": { "r2": { "metadataSizeBytes": 0, "objectCount": 0, "payloadSizeBytes": 0 }, "vectorize": { "dimensions": 0, "vectorsCount": 0 } }, "error": 0, "file_embed_errors": { "foo": "bar" }, "index_source_errors": { "foo": "bar" }, "last_activity": "2019-12-27T18:11:19.117Z", "outdated": 0, "queued": 0, "running": 0, "skipped": 0 }, "success": true } ``` ## Search `client.AISearch.Namespaces.Instances.Search(ctx, name, id, params) (*NamespaceInstanceSearchResponse, error)` **post** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/search` Executes a semantic search query against an AI Search instance to find relevant indexed content. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params NamespaceInstanceSearchParams` - `AccountID param.Field[string]` Path param - `AISearchOptions param.Field[NamespaceInstanceSearchParamsAISearchOptions]` Body param - `Cache NamespaceInstanceSearchParamsAISearchOptionsCache` - `CacheThreshold NamespaceInstanceSearchParamsAISearchOptionsCacheCacheThreshold` - `const NamespaceInstanceSearchParamsAISearchOptionsCacheCacheThresholdSuperStrictMatch NamespaceInstanceSearchParamsAISearchOptionsCacheCacheThreshold = "super_strict_match"` - `const NamespaceInstanceSearchParamsAISearchOptionsCacheCacheThresholdCloseEnough NamespaceInstanceSearchParamsAISearchOptionsCacheCacheThreshold = "close_enough"` - `const NamespaceInstanceSearchParamsAISearchOptionsCacheCacheThresholdFlexibleFriend NamespaceInstanceSearchParamsAISearchOptionsCacheCacheThreshold = "flexible_friend"` - `const NamespaceInstanceSearchParamsAISearchOptionsCacheCacheThresholdAnythingGoes NamespaceInstanceSearchParamsAISearchOptionsCacheCacheThreshold = "anything_goes"` - `Enabled bool` - `QueryRewrite NamespaceInstanceSearchParamsAISearchOptionsQueryRewrite` - `Enabled bool` - `Model NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfZaiOrgGlm4_7Flash NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2Instruct NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfGoogleGemma3_12bIt NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfGoogleGemma4_26bA4bIt NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2_5 NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_7Sonnet NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaudeSonnet4 NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaudeOpus4 NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_5Haiku NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bThinking NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasLlama3_3_70b NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasGptOSs120b NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Flash NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Pro NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelGrokGrok4 NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "grok/grok-4"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelGroqLlama3_3_70bVersatile NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelGroqLlama3_1_8bInstant NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelOpenAIGpt5 NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Mini NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-mini"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Nano NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-nano"` - `const NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModelEmpty NamespaceInstanceSearchParamsAISearchOptionsQueryRewriteModel = ""` - `RewritePrompt string` - `Reranking NamespaceInstanceSearchParamsAISearchOptionsReranking` - `Enabled bool` - `MatchThreshold float64` - `Model NamespaceInstanceSearchParamsAISearchOptionsRerankingModel` - `const NamespaceInstanceSearchParamsAISearchOptionsRerankingModelCfBaaiBgeRerankerBase NamespaceInstanceSearchParamsAISearchOptionsRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceInstanceSearchParamsAISearchOptionsRerankingModelEmpty NamespaceInstanceSearchParamsAISearchOptionsRerankingModel = ""` - `Retrieval NamespaceInstanceSearchParamsAISearchOptionsRetrieval` - `BoostBy []NamespaceInstanceSearchParamsAISearchOptionsRetrievalBoostBy` Metadata fields to boost search results by. Overrides the instance-level boost_by config. Direction defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceInstanceSearchParamsAISearchOptionsRetrievalBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalBoostByDirectionAsc NamespaceInstanceSearchParamsAISearchOptionsRetrievalBoostByDirection = "asc"` - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalBoostByDirectionDesc NamespaceInstanceSearchParamsAISearchOptionsRetrievalBoostByDirection = "desc"` - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalBoostByDirectionExists NamespaceInstanceSearchParamsAISearchOptionsRetrievalBoostByDirection = "exists"` - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalBoostByDirectionNotExists NamespaceInstanceSearchParamsAISearchOptionsRetrievalBoostByDirection = "not_exists"` - `ContextExpansion int64` - `Filters map[string, unknown]` - `FusionMethod NamespaceInstanceSearchParamsAISearchOptionsRetrievalFusionMethod` - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalFusionMethodMax NamespaceInstanceSearchParamsAISearchOptionsRetrievalFusionMethod = "max"` - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalFusionMethodRrf NamespaceInstanceSearchParamsAISearchOptionsRetrievalFusionMethod = "rrf"` - `KeywordMatchMode NamespaceInstanceSearchParamsAISearchOptionsRetrievalKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalKeywordMatchModeAnd NamespaceInstanceSearchParamsAISearchOptionsRetrievalKeywordMatchMode = "and"` - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalKeywordMatchModeOr NamespaceInstanceSearchParamsAISearchOptionsRetrievalKeywordMatchMode = "or"` - `MatchThreshold float64` - `MaxNumResults int64` - `RetrievalType NamespaceInstanceSearchParamsAISearchOptionsRetrievalRetrievalType` - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalRetrievalTypeVector NamespaceInstanceSearchParamsAISearchOptionsRetrievalRetrievalType = "vector"` - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalRetrievalTypeKeyword NamespaceInstanceSearchParamsAISearchOptionsRetrievalRetrievalType = "keyword"` - `const NamespaceInstanceSearchParamsAISearchOptionsRetrievalRetrievalTypeHybrid NamespaceInstanceSearchParamsAISearchOptionsRetrievalRetrievalType = "hybrid"` - `ReturnOnFailure bool` - `Messages param.Field[[]NamespaceInstanceSearchParamsMessage]` Body param - `Content string` - `Role NamespaceInstanceSearchParamsMessagesRole` - `const NamespaceInstanceSearchParamsMessagesRoleSystem NamespaceInstanceSearchParamsMessagesRole = "system"` - `const NamespaceInstanceSearchParamsMessagesRoleDeveloper NamespaceInstanceSearchParamsMessagesRole = "developer"` - `const NamespaceInstanceSearchParamsMessagesRoleUser NamespaceInstanceSearchParamsMessagesRole = "user"` - `const NamespaceInstanceSearchParamsMessagesRoleAssistant NamespaceInstanceSearchParamsMessagesRole = "assistant"` - `const NamespaceInstanceSearchParamsMessagesRoleTool NamespaceInstanceSearchParamsMessagesRole = "tool"` - `Query param.Field[string]` Body param: A simple text query string. Alternative to 'messages' — provide either this or 'messages', not both. ### Returns - `type NamespaceInstanceSearchResponse struct{…}` - `Chunks []NamespaceInstanceSearchResponseChunk` - `ID string` - `Score float64` - `Text string` - `Type string` - `Item NamespaceInstanceSearchResponseChunksItem` - `Key string` - `Metadata map[string, unknown]` - `Timestamp float64` - `ScoringDetails NamespaceInstanceSearchResponseChunksScoringDetails` - `FusionMethod NamespaceInstanceSearchResponseChunksScoringDetailsFusionMethod` - `const NamespaceInstanceSearchResponseChunksScoringDetailsFusionMethodRrf NamespaceInstanceSearchResponseChunksScoringDetailsFusionMethod = "rrf"` - `const NamespaceInstanceSearchResponseChunksScoringDetailsFusionMethodMax NamespaceInstanceSearchResponseChunksScoringDetailsFusionMethod = "max"` - `KeywordRank float64` - `KeywordScore float64` - `RerankingScore float64` - `VectorRank float64` - `VectorScore float64` - `SearchQuery string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.Search( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceSearchParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Chunks) } ``` #### Response ```json { "result": { "chunks": [ { "id": "id", "score": 0, "text": "text", "type": "type", "item": { "key": "key", "metadata": { "foo": "bar" }, "timestamp": 0 }, "scoring_details": { "fusion_method": "rrf", "keyword_rank": 0, "keyword_score": 0, "reranking_score": 0, "vector_rank": 0, "vector_score": 0 } } ], "search_query": "search_query" }, "success": true } ``` ## Chat Completions `client.AISearch.Namespaces.Instances.ChatCompletions(ctx, name, id, params) (*NamespaceInstanceChatCompletionsResponse, error)` **post** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/chat/completions` Performs a chat completion request against an AI Search instance, using indexed content as context for generating responses. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params NamespaceInstanceChatCompletionsParams` - `AccountID param.Field[string]` Path param - `Messages param.Field[[]NamespaceInstanceChatCompletionsParamsMessage]` Body param - `Content string` - `Role NamespaceInstanceChatCompletionsParamsMessagesRole` - `const NamespaceInstanceChatCompletionsParamsMessagesRoleSystem NamespaceInstanceChatCompletionsParamsMessagesRole = "system"` - `const NamespaceInstanceChatCompletionsParamsMessagesRoleDeveloper NamespaceInstanceChatCompletionsParamsMessagesRole = "developer"` - `const NamespaceInstanceChatCompletionsParamsMessagesRoleUser NamespaceInstanceChatCompletionsParamsMessagesRole = "user"` - `const NamespaceInstanceChatCompletionsParamsMessagesRoleAssistant NamespaceInstanceChatCompletionsParamsMessagesRole = "assistant"` - `const NamespaceInstanceChatCompletionsParamsMessagesRoleTool NamespaceInstanceChatCompletionsParamsMessagesRole = "tool"` - `AISearchOptions param.Field[NamespaceInstanceChatCompletionsParamsAISearchOptions]` Body param - `Cache NamespaceInstanceChatCompletionsParamsAISearchOptionsCache` - `CacheThreshold NamespaceInstanceChatCompletionsParamsAISearchOptionsCacheCacheThreshold` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsCacheCacheThresholdSuperStrictMatch NamespaceInstanceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "super_strict_match"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsCacheCacheThresholdCloseEnough NamespaceInstanceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "close_enough"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsCacheCacheThresholdFlexibleFriend NamespaceInstanceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "flexible_friend"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsCacheCacheThresholdAnythingGoes NamespaceInstanceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "anything_goes"` - `Enabled bool` - `QueryRewrite NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewrite` - `Enabled bool` - `Model NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfZaiOrgGlm4_7Flash NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2Instruct NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfGoogleGemma3_12bIt NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfGoogleGemma4_26bA4bIt NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2_5 NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_7Sonnet NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaudeSonnet4 NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaudeOpus4 NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_5Haiku NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bThinking NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasLlama3_3_70b NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasGptOSs120b NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Flash NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Pro NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelGrokGrok4 NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "grok/grok-4"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelGroqLlama3_3_70bVersatile NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelGroqLlama3_1_8bInstant NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelOpenAIGpt5 NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Mini NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-mini"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Nano NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-nano"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelEmpty NamespaceInstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = ""` - `RewritePrompt string` - `Reranking NamespaceInstanceChatCompletionsParamsAISearchOptionsReranking` - `Enabled bool` - `MatchThreshold float64` - `Model NamespaceInstanceChatCompletionsParamsAISearchOptionsRerankingModel` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRerankingModelCfBaaiBgeRerankerBase NamespaceInstanceChatCompletionsParamsAISearchOptionsRerankingModel = "@cf/baai/bge-reranker-base"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRerankingModelEmpty NamespaceInstanceChatCompletionsParamsAISearchOptionsRerankingModel = ""` - `Retrieval NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrieval` - `BoostBy []NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalBoostBy` Metadata fields to boost search results by. Overrides the instance-level boost_by config. Direction defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. Fields must match 'timestamp' or a defined custom_metadata field. - `Field string` Metadata field name to boost by. Use 'timestamp' for document freshness, or any custom_metadata field. Numeric and datetime fields support asc/desc directions; text/boolean fields support exists/not_exists. - `Direction NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection` Boost direction. 'desc' = higher values rank higher (e.g. newer timestamps). 'asc' = lower values rank higher. 'exists' = boost chunks that have the field. 'not_exists' = boost chunks that lack the field. Optional ��� defaults to 'asc' for numeric/datetime fields, 'exists' for text/boolean fields. - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionAsc NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "asc"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionDesc NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "desc"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionExists NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "exists"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionNotExists NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "not_exists"` - `ContextExpansion int64` - `Filters map[string, unknown]` - `FusionMethod NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalFusionMethod` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalFusionMethodMax NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalFusionMethod = "max"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalFusionMethodRrf NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalFusionMethod = "rrf"` - `KeywordMatchMode NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchMode` Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'. - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchModeAnd NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchMode = "and"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchModeOr NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchMode = "or"` - `MatchThreshold float64` - `MaxNumResults int64` - `RetrievalType NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalTypeVector NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType = "vector"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalTypeKeyword NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType = "keyword"` - `const NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalTypeHybrid NamespaceInstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType = "hybrid"` - `ReturnOnFailure bool` - `Model param.Field[NamespaceInstanceChatCompletionsParamsModel]` Body param - `const NamespaceInstanceChatCompletionsParamsModelCfMetaLlama3_3_70bInstructFp8Fast NamespaceInstanceChatCompletionsParamsModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const NamespaceInstanceChatCompletionsParamsModelCfZaiOrgGlm4_7Flash NamespaceInstanceChatCompletionsParamsModel = "@cf/zai-org/glm-4.7-flash"` - `const NamespaceInstanceChatCompletionsParamsModelCfMetaLlama3_1_8bInstructFast NamespaceInstanceChatCompletionsParamsModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const NamespaceInstanceChatCompletionsParamsModelCfMetaLlama3_1_8bInstructFp8 NamespaceInstanceChatCompletionsParamsModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const NamespaceInstanceChatCompletionsParamsModelCfMetaLlama4Scout17b16eInstruct NamespaceInstanceChatCompletionsParamsModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceChatCompletionsParamsModelCfQwenQwen3_30bA3bFp8 NamespaceInstanceChatCompletionsParamsModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const NamespaceInstanceChatCompletionsParamsModelCfDeepseekAIDeepseekR1DistillQwen32b NamespaceInstanceChatCompletionsParamsModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const NamespaceInstanceChatCompletionsParamsModelCfMoonshotaiKimiK2Instruct NamespaceInstanceChatCompletionsParamsModel = "@cf/moonshotai/kimi-k2-instruct"` - `const NamespaceInstanceChatCompletionsParamsModelCfGoogleGemma3_12bIt NamespaceInstanceChatCompletionsParamsModel = "@cf/google/gemma-3-12b-it"` - `const NamespaceInstanceChatCompletionsParamsModelCfGoogleGemma4_26bA4bIt NamespaceInstanceChatCompletionsParamsModel = "@cf/google/gemma-4-26b-a4b-it"` - `const NamespaceInstanceChatCompletionsParamsModelCfMoonshotaiKimiK2_5 NamespaceInstanceChatCompletionsParamsModel = "@cf/moonshotai/kimi-k2.5"` - `const NamespaceInstanceChatCompletionsParamsModelAnthropicClaude3_7Sonnet NamespaceInstanceChatCompletionsParamsModel = "anthropic/claude-3-7-sonnet"` - `const NamespaceInstanceChatCompletionsParamsModelAnthropicClaudeSonnet4 NamespaceInstanceChatCompletionsParamsModel = "anthropic/claude-sonnet-4"` - `const NamespaceInstanceChatCompletionsParamsModelAnthropicClaudeOpus4 NamespaceInstanceChatCompletionsParamsModel = "anthropic/claude-opus-4"` - `const NamespaceInstanceChatCompletionsParamsModelAnthropicClaude3_5Haiku NamespaceInstanceChatCompletionsParamsModel = "anthropic/claude-3-5-haiku"` - `const NamespaceInstanceChatCompletionsParamsModelCerebrasQwen3_235bA22bInstruct NamespaceInstanceChatCompletionsParamsModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const NamespaceInstanceChatCompletionsParamsModelCerebrasQwen3_235bA22bThinking NamespaceInstanceChatCompletionsParamsModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const NamespaceInstanceChatCompletionsParamsModelCerebrasLlama3_3_70b NamespaceInstanceChatCompletionsParamsModel = "cerebras/llama-3.3-70b"` - `const NamespaceInstanceChatCompletionsParamsModelCerebrasLlama4Maverick17b128eInstruct NamespaceInstanceChatCompletionsParamsModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const NamespaceInstanceChatCompletionsParamsModelCerebrasLlama4Scout17b16eInstruct NamespaceInstanceChatCompletionsParamsModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const NamespaceInstanceChatCompletionsParamsModelCerebrasGptOSs120b NamespaceInstanceChatCompletionsParamsModel = "cerebras/gpt-oss-120b"` - `const NamespaceInstanceChatCompletionsParamsModelGoogleAIStudioGemini2_5Flash NamespaceInstanceChatCompletionsParamsModel = "google-ai-studio/gemini-2.5-flash"` - `const NamespaceInstanceChatCompletionsParamsModelGoogleAIStudioGemini2_5Pro NamespaceInstanceChatCompletionsParamsModel = "google-ai-studio/gemini-2.5-pro"` - `const NamespaceInstanceChatCompletionsParamsModelGrokGrok4 NamespaceInstanceChatCompletionsParamsModel = "grok/grok-4"` - `const NamespaceInstanceChatCompletionsParamsModelGroqLlama3_3_70bVersatile NamespaceInstanceChatCompletionsParamsModel = "groq/llama-3.3-70b-versatile"` - `const NamespaceInstanceChatCompletionsParamsModelGroqLlama3_1_8bInstant NamespaceInstanceChatCompletionsParamsModel = "groq/llama-3.1-8b-instant"` - `const NamespaceInstanceChatCompletionsParamsModelOpenAIGpt5 NamespaceInstanceChatCompletionsParamsModel = "openai/gpt-5"` - `const NamespaceInstanceChatCompletionsParamsModelOpenAIGpt5Mini NamespaceInstanceChatCompletionsParamsModel = "openai/gpt-5-mini"` - `const NamespaceInstanceChatCompletionsParamsModelOpenAIGpt5Nano NamespaceInstanceChatCompletionsParamsModel = "openai/gpt-5-nano"` - `const NamespaceInstanceChatCompletionsParamsModelEmpty NamespaceInstanceChatCompletionsParamsModel = ""` - `Stream param.Field[bool]` Body param ### Returns - `type NamespaceInstanceChatCompletionsResponse struct{…}` - `Choices []NamespaceInstanceChatCompletionsResponseChoice` - `Message NamespaceInstanceChatCompletionsResponseChoicesMessage` - `Content string` - `Role NamespaceInstanceChatCompletionsResponseChoicesMessageRole` - `const NamespaceInstanceChatCompletionsResponseChoicesMessageRoleSystem NamespaceInstanceChatCompletionsResponseChoicesMessageRole = "system"` - `const NamespaceInstanceChatCompletionsResponseChoicesMessageRoleDeveloper NamespaceInstanceChatCompletionsResponseChoicesMessageRole = "developer"` - `const NamespaceInstanceChatCompletionsResponseChoicesMessageRoleUser NamespaceInstanceChatCompletionsResponseChoicesMessageRole = "user"` - `const NamespaceInstanceChatCompletionsResponseChoicesMessageRoleAssistant NamespaceInstanceChatCompletionsResponseChoicesMessageRole = "assistant"` - `const NamespaceInstanceChatCompletionsResponseChoicesMessageRoleTool NamespaceInstanceChatCompletionsResponseChoicesMessageRole = "tool"` - `Index int64` - `Chunks []NamespaceInstanceChatCompletionsResponseChunk` - `ID string` - `Score float64` - `Text string` - `Type string` - `Item NamespaceInstanceChatCompletionsResponseChunksItem` - `Key string` - `Metadata map[string, unknown]` - `Timestamp float64` - `ScoringDetails NamespaceInstanceChatCompletionsResponseChunksScoringDetails` - `FusionMethod NamespaceInstanceChatCompletionsResponseChunksScoringDetailsFusionMethod` - `const NamespaceInstanceChatCompletionsResponseChunksScoringDetailsFusionMethodRrf NamespaceInstanceChatCompletionsResponseChunksScoringDetailsFusionMethod = "rrf"` - `const NamespaceInstanceChatCompletionsResponseChunksScoringDetailsFusionMethodMax NamespaceInstanceChatCompletionsResponseChunksScoringDetailsFusionMethod = "max"` - `KeywordRank float64` - `KeywordScore float64` - `RerankingScore float64` - `VectorRank float64` - `VectorScore float64` - `ID string` - `Model string` - `Object string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.ChatCompletions( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceChatCompletionsParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), Messages: cloudflare.F([]ai_search.NamespaceInstanceChatCompletionsParamsMessage{ai_search.NamespaceInstanceChatCompletionsParamsMessage{ Content: cloudflare.F("content"), Role: cloudflare.F(ai_search.NamespaceInstanceChatCompletionsParamsMessagesRoleSystem), }}), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "choices": [ { "message": { "content": "content", "role": "system" }, "index": 0 } ], "chunks": [ { "id": "id", "score": 0, "text": "text", "type": "type", "item": { "key": "key", "metadata": { "foo": "bar" }, "timestamp": 0 }, "scoring_details": { "fusion_method": "rrf", "keyword_rank": 0, "keyword_score": 0, "reranking_score": 0, "vector_rank": 0, "vector_score": 0 } } ], "id": "id", "model": "model", "object": "object" } ``` # Jobs ## List Jobs `client.AISearch.Namespaces.Instances.Jobs.List(ctx, name, id, params) (*V4PagePaginationArray[NamespaceInstanceJobListResponse], error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/jobs` Lists indexing jobs for an AI Search instance. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params NamespaceInstanceJobListParams` - `AccountID param.Field[string]` Path param - `Page param.Field[int64]` Query param - `PerPage param.Field[int64]` Query param ### Returns - `type NamespaceInstanceJobListResponse struct{…}` - `ID string` - `Source NamespaceInstanceJobListResponseSource` - `const NamespaceInstanceJobListResponseSourceUser NamespaceInstanceJobListResponseSource = "user"` - `const NamespaceInstanceJobListResponseSourceSchedule NamespaceInstanceJobListResponseSource = "schedule"` - `Description string` - `EndReason string` - `EndedAt string` - `LastSeenAt string` - `StartedAt string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.AISearch.Namespaces.Instances.Jobs.List( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceJobListParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "result": [ { "id": "id", "source": "user", "description": "description", "end_reason": "end_reason", "ended_at": "ended_at", "last_seen_at": "last_seen_at", "started_at": "started_at" } ], "result_info": { "count": 0, "page": 0, "per_page": 0, "total_count": 0 }, "success": true } ``` ## Create new job `client.AISearch.Namespaces.Instances.Jobs.New(ctx, name, id, params) (*NamespaceInstanceJobNewResponse, error)` **post** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/jobs` Creates a new indexing job for an AI Search instance. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params NamespaceInstanceJobNewParams` - `AccountID param.Field[string]` Path param - `Description param.Field[string]` Body param ### Returns - `type NamespaceInstanceJobNewResponse struct{…}` - `ID string` - `Source NamespaceInstanceJobNewResponseSource` - `const NamespaceInstanceJobNewResponseSourceUser NamespaceInstanceJobNewResponseSource = "user"` - `const NamespaceInstanceJobNewResponseSourceSchedule NamespaceInstanceJobNewResponseSource = "schedule"` - `Description string` - `EndReason string` - `EndedAt string` - `LastSeenAt string` - `StartedAt string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) job, err := client.AISearch.Namespaces.Instances.Jobs.New( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceJobNewParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", job.ID) } ``` #### Response ```json { "result": { "id": "id", "source": "user", "description": "description", "end_reason": "end_reason", "ended_at": "ended_at", "last_seen_at": "last_seen_at", "started_at": "started_at" }, "success": true } ``` ## Get a Job Details `client.AISearch.Namespaces.Instances.Jobs.Get(ctx, name, id, jobID, query) (*NamespaceInstanceJobGetResponse, error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/jobs/{job_id}` Retrieves details for a specific AI Search indexing job. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `jobID string` - `query NamespaceInstanceJobGetParams` - `AccountID param.Field[string]` ### Returns - `type NamespaceInstanceJobGetResponse struct{…}` - `ID string` - `Source NamespaceInstanceJobGetResponseSource` - `const NamespaceInstanceJobGetResponseSourceUser NamespaceInstanceJobGetResponseSource = "user"` - `const NamespaceInstanceJobGetResponseSourceSchedule NamespaceInstanceJobGetResponseSource = "schedule"` - `Description string` - `EndReason string` - `EndedAt string` - `LastSeenAt string` - `StartedAt string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) job, err := client.AISearch.Namespaces.Instances.Jobs.Get( context.TODO(), "my-namespace", "my-ai-search", "job_id", ai_search.NamespaceInstanceJobGetParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", job.ID) } ``` #### Response ```json { "result": { "id": "id", "source": "user", "description": "description", "end_reason": "end_reason", "ended_at": "ended_at", "last_seen_at": "last_seen_at", "started_at": "started_at" }, "success": true } ``` ## Change Job Status `client.AISearch.Namespaces.Instances.Jobs.Update(ctx, name, id, jobID, params) (*NamespaceInstanceJobUpdateResponse, error)` **patch** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/jobs/{job_id}` Updates the status of an AI Search indexing job. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `jobID string` - `params NamespaceInstanceJobUpdateParams` - `AccountID param.Field[string]` Path param - `Action param.Field[NamespaceInstanceJobUpdateParamsAction]` Body param - `const NamespaceInstanceJobUpdateParamsActionCancel NamespaceInstanceJobUpdateParamsAction = "cancel"` ### Returns - `type NamespaceInstanceJobUpdateResponse struct{…}` - `ID string` - `Source NamespaceInstanceJobUpdateResponseSource` - `const NamespaceInstanceJobUpdateResponseSourceUser NamespaceInstanceJobUpdateResponseSource = "user"` - `const NamespaceInstanceJobUpdateResponseSourceSchedule NamespaceInstanceJobUpdateResponseSource = "schedule"` - `Description string` - `EndReason string` - `EndedAt string` - `LastSeenAt string` - `StartedAt string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) job, err := client.AISearch.Namespaces.Instances.Jobs.Update( context.TODO(), "my-namespace", "my-ai-search", "job_id", ai_search.NamespaceInstanceJobUpdateParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), Action: cloudflare.F(ai_search.NamespaceInstanceJobUpdateParamsActionCancel), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", job.ID) } ``` #### Response ```json { "result": { "id": "id", "source": "user", "description": "description", "end_reason": "end_reason", "ended_at": "ended_at", "last_seen_at": "last_seen_at", "started_at": "started_at" }, "success": true } ``` ## List Job Logs `client.AISearch.Namespaces.Instances.Jobs.Logs(ctx, name, id, jobID, params) (*[]NamespaceInstanceJobLogsResponse, error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/jobs/{job_id}/logs` Lists log entries for an AI Search indexing job. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `jobID string` - `params NamespaceInstanceJobLogsParams` - `AccountID param.Field[string]` Path param - `Page param.Field[int64]` Query param - `PerPage param.Field[int64]` Query param ### Returns - `type NamespaceInstanceJobLogsResponseEnvelopeResult []NamespaceInstanceJobLogsResponse` - `ID int64` - `CreatedAt float64` - `Message string` - `MessageType int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.Jobs.Logs( context.TODO(), "my-namespace", "my-ai-search", "job_id", ai_search.NamespaceInstanceJobLogsParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response) } ``` #### Response ```json { "result": [ { "id": 0, "created_at": 0, "message": "message", "message_type": 0 } ], "result_info": { "count": 0, "page": 0, "per_page": 0, "total_count": 0 }, "success": true } ``` # Items ## Items List. `client.AISearch.Namespaces.Instances.Items.List(ctx, name, id, params) (*V4PagePaginationArray[NamespaceInstanceItemListResponse], error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items` Lists indexed items in an AI Search instance. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params NamespaceInstanceItemListParams` - `AccountID param.Field[string]` Path param - `ItemID param.Field[string]` Query param: Filter items by their unique ID. Returns at most one item. - `MetadataFilter param.Field[string]` Query param: JSON-encoded metadata filter using Vectorize filter syntax. Examples: {"folder":"reports/"}, {"timestamp":{"$gte":1700000000000}}, {"folder":{"$in":["docs/","reports/"]}} - `Page param.Field[int64]` Query param - `PerPage param.Field[int64]` Query param - `Search param.Field[string]` Query param - `SortBy param.Field[NamespaceInstanceItemListParamsSortBy]` Query param: Sort order for items. "status" (default) sorts by status priority then last_seen_at. "modified_at" sorts by file modification time (most recent first), falling back to created_at. - `const NamespaceInstanceItemListParamsSortByStatus NamespaceInstanceItemListParamsSortBy = "status"` - `const NamespaceInstanceItemListParamsSortByModifiedAt NamespaceInstanceItemListParamsSortBy = "modified_at"` - `Source param.Field[string]` Query param: Filter items by source_id. Use "builtin" for uploaded files, or a source identifier like "web-crawler:https://example.com". - `Status param.Field[NamespaceInstanceItemListParamsStatus]` Query param - `const NamespaceInstanceItemListParamsStatusQueued NamespaceInstanceItemListParamsStatus = "queued"` - `const NamespaceInstanceItemListParamsStatusRunning NamespaceInstanceItemListParamsStatus = "running"` - `const NamespaceInstanceItemListParamsStatusCompleted NamespaceInstanceItemListParamsStatus = "completed"` - `const NamespaceInstanceItemListParamsStatusError NamespaceInstanceItemListParamsStatus = "error"` - `const NamespaceInstanceItemListParamsStatusSkipped NamespaceInstanceItemListParamsStatus = "skipped"` - `const NamespaceInstanceItemListParamsStatusOutdated NamespaceInstanceItemListParamsStatus = "outdated"` ### Returns - `type NamespaceInstanceItemListResponse struct{…}` - `ID string` - `Checksum string` - `ChunksCount int64` - `CreatedAt Time` - `FileSize float64` - `Key string` - `LastSeenAt Time` - `Namespace string` - `NextAction NamespaceInstanceItemListResponseNextAction` - `const NamespaceInstanceItemListResponseNextActionIndex NamespaceInstanceItemListResponseNextAction = "INDEX"` - `const NamespaceInstanceItemListResponseNextActionDelete NamespaceInstanceItemListResponseNextAction = "DELETE"` - `SourceID string` Identifies which data source this item belongs to. "builtin" for uploaded files, "{type}:{source}" for external sources, null for legacy items. - `Status NamespaceInstanceItemListResponseStatus` - `const NamespaceInstanceItemListResponseStatusQueued NamespaceInstanceItemListResponseStatus = "queued"` - `const NamespaceInstanceItemListResponseStatusRunning NamespaceInstanceItemListResponseStatus = "running"` - `const NamespaceInstanceItemListResponseStatusCompleted NamespaceInstanceItemListResponseStatus = "completed"` - `const NamespaceInstanceItemListResponseStatusError NamespaceInstanceItemListResponseStatus = "error"` - `const NamespaceInstanceItemListResponseStatusSkipped NamespaceInstanceItemListResponseStatus = "skipped"` - `const NamespaceInstanceItemListResponseStatusOutdated NamespaceInstanceItemListResponseStatus = "outdated"` - `Error string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.AISearch.Namespaces.Instances.Items.List( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceItemListParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "result": [ { "id": "id", "checksum": "checksum", "chunks_count": 0, "created_at": "2019-12-27T18:11:19.117Z", "file_size": 0, "key": "key", "last_seen_at": "2019-12-27T18:11:19.117Z", "namespace": "namespace", "next_action": "INDEX", "source_id": "source_id", "status": "queued", "error": "error" } ], "result_info": { "count": 0, "page": 0, "total_count": 0, "per_page": 5 }, "success": true } ``` ## Upload Item. `client.AISearch.Namespaces.Instances.Items.Upload(ctx, name, id, params) (*NamespaceInstanceItemUploadResponse, error)` **post** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items` Uploads a file to a managed AI Search instance via multipart/form-data (max 4MB). ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params NamespaceInstanceItemUploadParams` - `AccountID param.Field[string]` Path param - `File param.Field[NamespaceInstanceItemUploadParamsFile]` Body param - `File Reader` The file to upload (max 4MB). Filename must not exceed 128 characters. - `Metadata string` JSON string of custom metadata key-value pairs. - `WaitForCompletion bool` Wait for indexing to fully complete before responding. On RAGs with vector indexing enabled, this additionally waits for Vectorize ingestion confirmation (up to 40s) so the returned item reflects a queryable state. On timeout the item is returned in `running` state and the background alarm continues polling. Defaults to false. ### Returns - `type NamespaceInstanceItemUploadResponse struct{…}` - `ID string` - `Checksum string` - `ChunksCount int64` - `CreatedAt Time` - `FileSize float64` - `Key string` - `LastSeenAt Time` - `Namespace string` - `NextAction NamespaceInstanceItemUploadResponseNextAction` - `const NamespaceInstanceItemUploadResponseNextActionIndex NamespaceInstanceItemUploadResponseNextAction = "INDEX"` - `const NamespaceInstanceItemUploadResponseNextActionDelete NamespaceInstanceItemUploadResponseNextAction = "DELETE"` - `SourceID string` Identifies which data source this item belongs to. "builtin" for uploaded files, "{type}:{source}" for external sources, null for legacy items. - `Status NamespaceInstanceItemUploadResponseStatus` - `const NamespaceInstanceItemUploadResponseStatusQueued NamespaceInstanceItemUploadResponseStatus = "queued"` - `const NamespaceInstanceItemUploadResponseStatusRunning NamespaceInstanceItemUploadResponseStatus = "running"` - `const NamespaceInstanceItemUploadResponseStatusCompleted NamespaceInstanceItemUploadResponseStatus = "completed"` - `const NamespaceInstanceItemUploadResponseStatusError NamespaceInstanceItemUploadResponseStatus = "error"` - `const NamespaceInstanceItemUploadResponseStatusSkipped NamespaceInstanceItemUploadResponseStatus = "skipped"` - `const NamespaceInstanceItemUploadResponseStatusOutdated NamespaceInstanceItemUploadResponseStatus = "outdated"` - `Error string` ### Example ```go package main import ( "bytes" "context" "fmt" "io" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.Items.Upload( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceItemUploadParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), File: ai_search.NamespaceInstanceItemUploadParamsFile{ File: cloudflare.F(io.Reader(bytes.NewBuffer([]byte("Example data")))), }, }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "result": { "id": "id", "checksum": "checksum", "chunks_count": 0, "created_at": "2019-12-27T18:11:19.117Z", "file_size": 0, "key": "key", "last_seen_at": "2019-12-27T18:11:19.117Z", "namespace": "namespace", "next_action": "INDEX", "source_id": "source_id", "status": "queued", "error": "error" }, "success": true } ``` ## Create or Update Item. `client.AISearch.Namespaces.Instances.Items.NewOrUpdate(ctx, name, id, params) (*NamespaceInstanceItemNewOrUpdateResponse, error)` **put** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items` Creates or updates an indexed item in an AI Search instance. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params NamespaceInstanceItemNewOrUpdateParams` - `AccountID param.Field[string]` Path param - `Key param.Field[string]` Body param: Item key / filename. Must not exceed 128 characters. - `NextAction param.Field[NamespaceInstanceItemNewOrUpdateParamsNextAction]` Body param - `const NamespaceInstanceItemNewOrUpdateParamsNextActionIndex NamespaceInstanceItemNewOrUpdateParamsNextAction = "INDEX"` - `WaitForCompletion param.Field[bool]` Body param: Wait for indexing to fully complete before responding. On RAGs with vector indexing enabled, this additionally waits for Vectorize ingestion confirmation (up to 40s) so the returned item reflects a queryable state. On timeout the item is returned in `running` state and the background alarm continues polling. Defaults to false. ### Returns - `type NamespaceInstanceItemNewOrUpdateResponse struct{…}` - `ID string` - `Checksum string` - `ChunksCount int64` - `CreatedAt Time` - `FileSize float64` - `Key string` - `LastSeenAt Time` - `Namespace string` - `NextAction NamespaceInstanceItemNewOrUpdateResponseNextAction` - `const NamespaceInstanceItemNewOrUpdateResponseNextActionIndex NamespaceInstanceItemNewOrUpdateResponseNextAction = "INDEX"` - `const NamespaceInstanceItemNewOrUpdateResponseNextActionDelete NamespaceInstanceItemNewOrUpdateResponseNextAction = "DELETE"` - `SourceID string` Identifies which data source this item belongs to. "builtin" for uploaded files, "{type}:{source}" for external sources, null for legacy items. - `Status NamespaceInstanceItemNewOrUpdateResponseStatus` - `const NamespaceInstanceItemNewOrUpdateResponseStatusQueued NamespaceInstanceItemNewOrUpdateResponseStatus = "queued"` - `const NamespaceInstanceItemNewOrUpdateResponseStatusRunning NamespaceInstanceItemNewOrUpdateResponseStatus = "running"` - `const NamespaceInstanceItemNewOrUpdateResponseStatusCompleted NamespaceInstanceItemNewOrUpdateResponseStatus = "completed"` - `const NamespaceInstanceItemNewOrUpdateResponseStatusError NamespaceInstanceItemNewOrUpdateResponseStatus = "error"` - `const NamespaceInstanceItemNewOrUpdateResponseStatusSkipped NamespaceInstanceItemNewOrUpdateResponseStatus = "skipped"` - `const NamespaceInstanceItemNewOrUpdateResponseStatusOutdated NamespaceInstanceItemNewOrUpdateResponseStatus = "outdated"` - `Error string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.Items.NewOrUpdate( context.TODO(), "my-namespace", "my-ai-search", ai_search.NamespaceInstanceItemNewOrUpdateParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), Key: cloudflare.F("key"), NextAction: cloudflare.F(ai_search.NamespaceInstanceItemNewOrUpdateParamsNextActionIndex), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "result": { "id": "id", "checksum": "checksum", "chunks_count": 0, "created_at": "2019-12-27T18:11:19.117Z", "file_size": 0, "key": "key", "last_seen_at": "2019-12-27T18:11:19.117Z", "namespace": "namespace", "next_action": "INDEX", "source_id": "source_id", "status": "queued", "error": "error" }, "success": true } ``` ## Get Item. `client.AISearch.Namespaces.Instances.Items.Get(ctx, name, id, itemID, query) (*NamespaceInstanceItemGetResponse, error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}` Retrieves a specific indexed item from an AI Search instance. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `itemID string` - `query NamespaceInstanceItemGetParams` - `AccountID param.Field[string]` ### Returns - `type NamespaceInstanceItemGetResponse struct{…}` - `ID string` - `Checksum string` - `ChunksCount int64` - `CreatedAt Time` - `FileSize float64` - `Key string` - `LastSeenAt Time` - `Namespace string` - `NextAction NamespaceInstanceItemGetResponseNextAction` - `const NamespaceInstanceItemGetResponseNextActionIndex NamespaceInstanceItemGetResponseNextAction = "INDEX"` - `const NamespaceInstanceItemGetResponseNextActionDelete NamespaceInstanceItemGetResponseNextAction = "DELETE"` - `SourceID string` Identifies which data source this item belongs to. "builtin" for uploaded files, "{type}:{source}" for external sources, null for legacy items. - `Status NamespaceInstanceItemGetResponseStatus` - `const NamespaceInstanceItemGetResponseStatusQueued NamespaceInstanceItemGetResponseStatus = "queued"` - `const NamespaceInstanceItemGetResponseStatusRunning NamespaceInstanceItemGetResponseStatus = "running"` - `const NamespaceInstanceItemGetResponseStatusCompleted NamespaceInstanceItemGetResponseStatus = "completed"` - `const NamespaceInstanceItemGetResponseStatusError NamespaceInstanceItemGetResponseStatus = "error"` - `const NamespaceInstanceItemGetResponseStatusSkipped NamespaceInstanceItemGetResponseStatus = "skipped"` - `const NamespaceInstanceItemGetResponseStatusOutdated NamespaceInstanceItemGetResponseStatus = "outdated"` - `Error string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) item, err := client.AISearch.Namespaces.Instances.Items.Get( context.TODO(), "my-namespace", "my-ai-search", "item_id", ai_search.NamespaceInstanceItemGetParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", item.ID) } ``` #### Response ```json { "result": { "id": "id", "checksum": "checksum", "chunks_count": 0, "created_at": "2019-12-27T18:11:19.117Z", "file_size": 0, "key": "key", "last_seen_at": "2019-12-27T18:11:19.117Z", "namespace": "namespace", "next_action": "INDEX", "source_id": "source_id", "status": "queued", "error": "error" }, "success": true } ``` ## Sync Item. `client.AISearch.Namespaces.Instances.Items.Sync(ctx, name, id, itemID, params) (*NamespaceInstanceItemSyncResponse, error)` **patch** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}` Syncs an item to an AI Search instance index. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `itemID string` - `params NamespaceInstanceItemSyncParams` - `AccountID param.Field[string]` Path param - `NextAction param.Field[NamespaceInstanceItemSyncParamsNextAction]` Body param - `const NamespaceInstanceItemSyncParamsNextActionIndex NamespaceInstanceItemSyncParamsNextAction = "INDEX"` - `WaitForCompletion param.Field[bool]` Body param: Wait for indexing to fully complete before responding. On RAGs with vector indexing enabled, this additionally waits for Vectorize ingestion confirmation (up to 40s) so the returned item reflects a queryable state. On timeout the item is returned in `running` state and the background alarm continues polling. Defaults to false. ### Returns - `type NamespaceInstanceItemSyncResponse struct{…}` - `ID string` - `Checksum string` - `ChunksCount int64` - `CreatedAt Time` - `FileSize float64` - `Key string` - `LastSeenAt Time` - `Namespace string` - `NextAction NamespaceInstanceItemSyncResponseNextAction` - `const NamespaceInstanceItemSyncResponseNextActionIndex NamespaceInstanceItemSyncResponseNextAction = "INDEX"` - `const NamespaceInstanceItemSyncResponseNextActionDelete NamespaceInstanceItemSyncResponseNextAction = "DELETE"` - `SourceID string` Identifies which data source this item belongs to. "builtin" for uploaded files, "{type}:{source}" for external sources, null for legacy items. - `Status NamespaceInstanceItemSyncResponseStatus` - `const NamespaceInstanceItemSyncResponseStatusQueued NamespaceInstanceItemSyncResponseStatus = "queued"` - `const NamespaceInstanceItemSyncResponseStatusRunning NamespaceInstanceItemSyncResponseStatus = "running"` - `const NamespaceInstanceItemSyncResponseStatusCompleted NamespaceInstanceItemSyncResponseStatus = "completed"` - `const NamespaceInstanceItemSyncResponseStatusError NamespaceInstanceItemSyncResponseStatus = "error"` - `const NamespaceInstanceItemSyncResponseStatusSkipped NamespaceInstanceItemSyncResponseStatus = "skipped"` - `const NamespaceInstanceItemSyncResponseStatusOutdated NamespaceInstanceItemSyncResponseStatus = "outdated"` - `Error string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.Items.Sync( context.TODO(), "my-namespace", "my-ai-search", "item_id", ai_search.NamespaceInstanceItemSyncParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), NextAction: cloudflare.F(ai_search.NamespaceInstanceItemSyncParamsNextActionIndex), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "result": { "id": "id", "checksum": "checksum", "chunks_count": 0, "created_at": "2019-12-27T18:11:19.117Z", "file_size": 0, "key": "key", "last_seen_at": "2019-12-27T18:11:19.117Z", "namespace": "namespace", "next_action": "INDEX", "source_id": "source_id", "status": "queued", "error": "error" }, "success": true } ``` ## Delete Item. `client.AISearch.Namespaces.Instances.Items.Delete(ctx, name, id, itemID, body) (*NamespaceInstanceItemDeleteResponse, error)` **delete** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}` Deletes a file from a managed AI Search instance and triggers a reindex. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `itemID string` - `body NamespaceInstanceItemDeleteParams` - `AccountID param.Field[string]` ### Returns - `type NamespaceInstanceItemDeleteResponse struct{…}` - `Key string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) item, err := client.AISearch.Namespaces.Instances.Items.Delete( context.TODO(), "my-namespace", "my-ai-search", "item_id", ai_search.NamespaceInstanceItemDeleteParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", item.Key) } ``` #### Response ```json { "result": { "key": "key" }, "success": true } ``` ## Download Item Content. `client.AISearch.Namespaces.Instances.Items.Download(ctx, name, id, itemID, query) (*Response, error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}/download` Downloads the raw file content for a specific item from the managed AI Search instance storage. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `itemID string` - `query NamespaceInstanceItemDownloadParams` - `AccountID param.Field[string]` ### Returns - `type NamespaceInstanceItemDownloadResponse interface{…}` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.Items.Download( context.TODO(), "my-namespace", "my-ai-search", "item_id", ai_search.NamespaceInstanceItemDownloadParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response) } ``` ## Item Logs. `client.AISearch.Namespaces.Instances.Items.Logs(ctx, name, id, itemID, params) (*[]NamespaceInstanceItemLogsResponse, error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}/logs` Lists processing logs for a specific item in an AI Search instance. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `itemID string` - `params NamespaceInstanceItemLogsParams` - `AccountID param.Field[string]` Path param - `Cursor param.Field[string]` Query param - `Limit param.Field[int64]` Query param ### Returns - `type NamespaceInstanceItemLogsResponseEnvelopeResult []NamespaceInstanceItemLogsResponse` - `Action string` - `ChunkCount int64` - `ErrorType string` - `FileKey string` - `Message string` - `ProcessingTimeMs int64` - `Timestamp Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.Items.Logs( context.TODO(), "my-namespace", "my-ai-search", "item_id", ai_search.NamespaceInstanceItemLogsParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response) } ``` #### Response ```json { "result": [ { "action": "action", "chunkCount": 0, "errorType": "errorType", "fileKey": "fileKey", "message": "message", "processingTimeMs": 0, "timestamp": "2019-12-27T18:11:19.117Z" } ], "result_info": { "count": 0, "cursor": "cursor", "per_page": 0, "truncated": true }, "success": true } ``` ## List Item Chunks. `client.AISearch.Namespaces.Instances.Items.Chunks(ctx, name, id, itemID, params) (*[]NamespaceInstanceItemChunksResponse, error)` **get** `/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items/{item_id}/chunks` Lists chunks for a specific item in an AI Search instance, including their text content. ### Parameters - `name string` - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `itemID string` - `params NamespaceInstanceItemChunksParams` - `AccountID param.Field[string]` Path param - `Limit param.Field[int64]` Query param - `Offset param.Field[int64]` Query param ### Returns - `type NamespaceInstanceItemChunksResponseEnvelopeResult []NamespaceInstanceItemChunksResponse` - `ID string` - `Item NamespaceInstanceItemChunksResponseItem` - `Key string` - `Metadata map[string, unknown]` - `Timestamp float64` - `Text string` - `EndByte float64` - `StartByte float64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_search" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.AISearch.Namespaces.Instances.Items.Chunks( context.TODO(), "my-namespace", "my-ai-search", "item_id", ai_search.NamespaceInstanceItemChunksParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response) } ``` #### Response ```json { "result": [ { "id": "id", "item": { "key": "key", "metadata": { "foo": "bar" }, "timestamp": 0 }, "text": "text", "end_byte": 0, "start_byte": 0 } ], "result_info": { "count": 0, "limit": 0, "offset": 0, "total": 0 }, "success": true } ```