# AI Search # 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 } ``` # Instances ## List instances. `client.AISearch.Instances.List(ctx, params) (*V4PagePaginationArray[InstanceListResponse], error)` **get** `/accounts/{account_id}/ai-search/instances` List instances. ### Parameters - `params InstanceListParams` - `AccountID param.Field[string]` Path param - `Namespace param.Field[string]` Query param: Filter by namespace. - `OrderBy param.Field[InstanceListParamsOrderBy]` Query param: Field to order results by. - `const InstanceListParamsOrderByCreatedAt InstanceListParamsOrderBy = "created_at"` - `OrderByDirection param.Field[InstanceListParamsOrderByDirection]` Query param: Order direction. - `const InstanceListParamsOrderByDirectionAsc InstanceListParamsOrderByDirection = "asc"` - `const InstanceListParamsOrderByDirectionDesc InstanceListParamsOrderByDirection = "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 InstanceListResponse struct{…}` - `ID string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `CreatedAt Time` - `ModifiedAt Time` - `AIGatewayID string` - `AISearchModel InstanceListResponseAISearchModel` - `const InstanceListResponseAISearchModelCfMetaLlama3_3_70bInstructFp8Fast InstanceListResponseAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceListResponseAISearchModelCfZaiOrgGlm4_7Flash InstanceListResponseAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceListResponseAISearchModelCfMetaLlama3_1_8bInstructFast InstanceListResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceListResponseAISearchModelCfMetaLlama3_1_8bInstructFp8 InstanceListResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceListResponseAISearchModelCfMetaLlama4Scout17b16eInstruct InstanceListResponseAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceListResponseAISearchModelCfQwenQwen3_30bA3bFp8 InstanceListResponseAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceListResponseAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceListResponseAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceListResponseAISearchModelCfMoonshotaiKimiK2Instruct InstanceListResponseAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceListResponseAISearchModelCfGoogleGemma3_12bIt InstanceListResponseAISearchModel = "@cf/google/gemma-3-12b-it"` - `const InstanceListResponseAISearchModelCfGoogleGemma4_26bA4bIt InstanceListResponseAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceListResponseAISearchModelCfMoonshotaiKimiK2_5 InstanceListResponseAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceListResponseAISearchModelAnthropicClaude3_7Sonnet InstanceListResponseAISearchModel = "anthropic/claude-3-7-sonnet"` - `const InstanceListResponseAISearchModelAnthropicClaudeSonnet4 InstanceListResponseAISearchModel = "anthropic/claude-sonnet-4"` - `const InstanceListResponseAISearchModelAnthropicClaudeOpus4 InstanceListResponseAISearchModel = "anthropic/claude-opus-4"` - `const InstanceListResponseAISearchModelAnthropicClaude3_5Haiku InstanceListResponseAISearchModel = "anthropic/claude-3-5-haiku"` - `const InstanceListResponseAISearchModelCerebrasQwen3_235bA22bInstruct InstanceListResponseAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceListResponseAISearchModelCerebrasQwen3_235bA22bThinking InstanceListResponseAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceListResponseAISearchModelCerebrasLlama3_3_70b InstanceListResponseAISearchModel = "cerebras/llama-3.3-70b"` - `const InstanceListResponseAISearchModelCerebrasLlama4Maverick17b128eInstruct InstanceListResponseAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceListResponseAISearchModelCerebrasLlama4Scout17b16eInstruct InstanceListResponseAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceListResponseAISearchModelCerebrasGptOSs120b InstanceListResponseAISearchModel = "cerebras/gpt-oss-120b"` - `const InstanceListResponseAISearchModelGoogleAIStudioGemini2_5Flash InstanceListResponseAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceListResponseAISearchModelGoogleAIStudioGemini2_5Pro InstanceListResponseAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceListResponseAISearchModelGrokGrok4 InstanceListResponseAISearchModel = "grok/grok-4"` - `const InstanceListResponseAISearchModelGroqLlama3_3_70bVersatile InstanceListResponseAISearchModel = "groq/llama-3.3-70b-versatile"` - `const InstanceListResponseAISearchModelGroqLlama3_1_8bInstant InstanceListResponseAISearchModel = "groq/llama-3.1-8b-instant"` - `const InstanceListResponseAISearchModelOpenAIGpt5 InstanceListResponseAISearchModel = "openai/gpt-5"` - `const InstanceListResponseAISearchModelOpenAIGpt5Mini InstanceListResponseAISearchModel = "openai/gpt-5-mini"` - `const InstanceListResponseAISearchModelOpenAIGpt5Nano InstanceListResponseAISearchModel = "openai/gpt-5-nano"` - `const InstanceListResponseAISearchModelEmpty InstanceListResponseAISearchModel = ""` - `Cache bool` - `CacheThreshold InstanceListResponseCacheThreshold` - `const InstanceListResponseCacheThresholdSuperStrictMatch InstanceListResponseCacheThreshold = "super_strict_match"` - `const InstanceListResponseCacheThresholdCloseEnough InstanceListResponseCacheThreshold = "close_enough"` - `const InstanceListResponseCacheThresholdFlexibleFriend InstanceListResponseCacheThreshold = "flexible_friend"` - `const InstanceListResponseCacheThresholdAnythingGoes InstanceListResponseCacheThreshold = "anything_goes"` - `CacheTTL InstanceListResponseCacheTTL` 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 InstanceListResponseCacheTTL600 InstanceListResponseCacheTTL = 600` - `const InstanceListResponseCacheTTL1800 InstanceListResponseCacheTTL = 1800` - `const InstanceListResponseCacheTTL3600 InstanceListResponseCacheTTL = 3600` - `const InstanceListResponseCacheTTL7200 InstanceListResponseCacheTTL = 7200` - `const InstanceListResponseCacheTTL21600 InstanceListResponseCacheTTL = 21600` - `const InstanceListResponseCacheTTL43200 InstanceListResponseCacheTTL = 43200` - `const InstanceListResponseCacheTTL86400 InstanceListResponseCacheTTL = 86400` - `const InstanceListResponseCacheTTL172800 InstanceListResponseCacheTTL = 172800` - `const InstanceListResponseCacheTTL259200 InstanceListResponseCacheTTL = 259200` - `const InstanceListResponseCacheTTL518400 InstanceListResponseCacheTTL = 518400` - `ChunkOverlap int64` - `ChunkSize int64` - `CreatedBy string` - `CustomMetadata []InstanceListResponseCustomMetadata` - `DataType InstanceListResponseCustomMetadataDataType` - `const InstanceListResponseCustomMetadataDataTypeText InstanceListResponseCustomMetadataDataType = "text"` - `const InstanceListResponseCustomMetadataDataTypeNumber InstanceListResponseCustomMetadataDataType = "number"` - `const InstanceListResponseCustomMetadataDataTypeBoolean InstanceListResponseCustomMetadataDataType = "boolean"` - `const InstanceListResponseCustomMetadataDataTypeDatetime InstanceListResponseCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel InstanceListResponseEmbeddingModel` - `const InstanceListResponseEmbeddingModelCfQwenQwen3Embedding0_6b InstanceListResponseEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const InstanceListResponseEmbeddingModelCfBaaiBgeM3 InstanceListResponseEmbeddingModel = "@cf/baai/bge-m3"` - `const InstanceListResponseEmbeddingModelCfBaaiBgeLargeEnV1_5 InstanceListResponseEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const InstanceListResponseEmbeddingModelCfGoogleEmbeddinggemma300m InstanceListResponseEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const InstanceListResponseEmbeddingModelGoogleAIStudioGeminiEmbedding001 InstanceListResponseEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const InstanceListResponseEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview InstanceListResponseEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const InstanceListResponseEmbeddingModelOpenAITextEmbedding3Small InstanceListResponseEmbeddingModel = "openai/text-embedding-3-small"` - `const InstanceListResponseEmbeddingModelOpenAITextEmbedding3Large InstanceListResponseEmbeddingModel = "openai/text-embedding-3-large"` - `const InstanceListResponseEmbeddingModelEmpty InstanceListResponseEmbeddingModel = ""` - `Enable bool` - `EngineVersion float64` - `FusionMethod InstanceListResponseFusionMethod` - `const InstanceListResponseFusionMethodMax InstanceListResponseFusionMethod = "max"` - `const InstanceListResponseFusionMethodRrf InstanceListResponseFusionMethod = "rrf"` - `HybridSearchEnabled bool` Deprecated — use index_method instead. - `IndexMethod InstanceListResponseIndexMethod` 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 InstanceListResponseIndexingOptions` - `KeywordTokenizer InstanceListResponseIndexingOptionsKeywordTokenizer` 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 InstanceListResponseIndexingOptionsKeywordTokenizerPorter InstanceListResponseIndexingOptionsKeywordTokenizer = "porter"` - `const InstanceListResponseIndexingOptionsKeywordTokenizerTrigram InstanceListResponseIndexingOptionsKeywordTokenizer = "trigram"` - `LastActivity Time` - `MaxNumResults int64` - `Metadata InstanceListResponseMetadata` - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `ModifiedBy string` - `Namespace string` - `Paused bool` - `PublicEndpointID string` - `PublicEndpointParams InstanceListResponsePublicEndpointParams` - `AuthorizedHosts []string` - `ChatCompletionsEndpoint InstanceListResponsePublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp InstanceListResponsePublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit InstanceListResponsePublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique InstanceListResponsePublicEndpointParamsRateLimitTechnique` - `const InstanceListResponsePublicEndpointParamsRateLimitTechniqueFixed InstanceListResponsePublicEndpointParamsRateLimitTechnique = "fixed"` - `const InstanceListResponsePublicEndpointParamsRateLimitTechniqueSliding InstanceListResponsePublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint InstanceListResponsePublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking bool` - `RerankingModel InstanceListResponseRerankingModel` - `const InstanceListResponseRerankingModelCfBaaiBgeRerankerBase InstanceListResponseRerankingModel = "@cf/baai/bge-reranker-base"` - `const InstanceListResponseRerankingModelEmpty InstanceListResponseRerankingModel = ""` - `RetrievalOptions InstanceListResponseRetrievalOptions` - `BoostBy []InstanceListResponseRetrievalOptionsBoostBy` 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 InstanceListResponseRetrievalOptionsBoostByDirection` 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 InstanceListResponseRetrievalOptionsBoostByDirectionAsc InstanceListResponseRetrievalOptionsBoostByDirection = "asc"` - `const InstanceListResponseRetrievalOptionsBoostByDirectionDesc InstanceListResponseRetrievalOptionsBoostByDirection = "desc"` - `const InstanceListResponseRetrievalOptionsBoostByDirectionExists InstanceListResponseRetrievalOptionsBoostByDirection = "exists"` - `const InstanceListResponseRetrievalOptionsBoostByDirectionNotExists InstanceListResponseRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode InstanceListResponseRetrievalOptionsKeywordMatchMode` 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 InstanceListResponseRetrievalOptionsKeywordMatchModeAnd InstanceListResponseRetrievalOptionsKeywordMatchMode = "and"` - `const InstanceListResponseRetrievalOptionsKeywordMatchModeOr InstanceListResponseRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel InstanceListResponseRewriteModel` - `const InstanceListResponseRewriteModelCfMetaLlama3_3_70bInstructFp8Fast InstanceListResponseRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceListResponseRewriteModelCfZaiOrgGlm4_7Flash InstanceListResponseRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceListResponseRewriteModelCfMetaLlama3_1_8bInstructFast InstanceListResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceListResponseRewriteModelCfMetaLlama3_1_8bInstructFp8 InstanceListResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceListResponseRewriteModelCfMetaLlama4Scout17b16eInstruct InstanceListResponseRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceListResponseRewriteModelCfQwenQwen3_30bA3bFp8 InstanceListResponseRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceListResponseRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceListResponseRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceListResponseRewriteModelCfMoonshotaiKimiK2Instruct InstanceListResponseRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceListResponseRewriteModelCfGoogleGemma3_12bIt InstanceListResponseRewriteModel = "@cf/google/gemma-3-12b-it"` - `const InstanceListResponseRewriteModelCfGoogleGemma4_26bA4bIt InstanceListResponseRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceListResponseRewriteModelCfMoonshotaiKimiK2_5 InstanceListResponseRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceListResponseRewriteModelAnthropicClaude3_7Sonnet InstanceListResponseRewriteModel = "anthropic/claude-3-7-sonnet"` - `const InstanceListResponseRewriteModelAnthropicClaudeSonnet4 InstanceListResponseRewriteModel = "anthropic/claude-sonnet-4"` - `const InstanceListResponseRewriteModelAnthropicClaudeOpus4 InstanceListResponseRewriteModel = "anthropic/claude-opus-4"` - `const InstanceListResponseRewriteModelAnthropicClaude3_5Haiku InstanceListResponseRewriteModel = "anthropic/claude-3-5-haiku"` - `const InstanceListResponseRewriteModelCerebrasQwen3_235bA22bInstruct InstanceListResponseRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceListResponseRewriteModelCerebrasQwen3_235bA22bThinking InstanceListResponseRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceListResponseRewriteModelCerebrasLlama3_3_70b InstanceListResponseRewriteModel = "cerebras/llama-3.3-70b"` - `const InstanceListResponseRewriteModelCerebrasLlama4Maverick17b128eInstruct InstanceListResponseRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceListResponseRewriteModelCerebrasLlama4Scout17b16eInstruct InstanceListResponseRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceListResponseRewriteModelCerebrasGptOSs120b InstanceListResponseRewriteModel = "cerebras/gpt-oss-120b"` - `const InstanceListResponseRewriteModelGoogleAIStudioGemini2_5Flash InstanceListResponseRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceListResponseRewriteModelGoogleAIStudioGemini2_5Pro InstanceListResponseRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceListResponseRewriteModelGrokGrok4 InstanceListResponseRewriteModel = "grok/grok-4"` - `const InstanceListResponseRewriteModelGroqLlama3_3_70bVersatile InstanceListResponseRewriteModel = "groq/llama-3.3-70b-versatile"` - `const InstanceListResponseRewriteModelGroqLlama3_1_8bInstant InstanceListResponseRewriteModel = "groq/llama-3.1-8b-instant"` - `const InstanceListResponseRewriteModelOpenAIGpt5 InstanceListResponseRewriteModel = "openai/gpt-5"` - `const InstanceListResponseRewriteModelOpenAIGpt5Mini InstanceListResponseRewriteModel = "openai/gpt-5-mini"` - `const InstanceListResponseRewriteModelOpenAIGpt5Nano InstanceListResponseRewriteModel = "openai/gpt-5-nano"` - `const InstanceListResponseRewriteModelEmpty InstanceListResponseRewriteModel = ""` - `RewriteQuery bool` - `ScoreThreshold float64` - `Source string` - `SourceParams InstanceListResponseSourceParams` - `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 InstanceListResponseSourceParamsWebCrawler` - `CrawlOptions InstanceListResponseSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source InstanceListResponseSourceParamsWebCrawlerCrawlOptionsSource` - `const InstanceListResponseSourceParamsWebCrawlerCrawlOptionsSourceAll InstanceListResponseSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const InstanceListResponseSourceParamsWebCrawlerCrawlOptionsSourceSitemaps InstanceListResponseSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const InstanceListResponseSourceParamsWebCrawlerCrawlOptionsSourceLinks InstanceListResponseSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions InstanceListResponseSourceParamsWebCrawlerParseOptions` - `ContentSelector []InstanceListResponseSourceParamsWebCrawlerParseOptionsContentSelector` 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 InstanceListResponseSourceParamsWebCrawlerParseType` - `const InstanceListResponseSourceParamsWebCrawlerParseTypeSitemap InstanceListResponseSourceParamsWebCrawlerParseType = "sitemap"` - `const InstanceListResponseSourceParamsWebCrawlerParseTypeFeedRss InstanceListResponseSourceParamsWebCrawlerParseType = "feed-rss"` - `const InstanceListResponseSourceParamsWebCrawlerParseTypeCrawl InstanceListResponseSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions InstanceListResponseSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Status string` - `SyncInterval InstanceListResponseSyncInterval` 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 InstanceListResponseSyncInterval900 InstanceListResponseSyncInterval = 900` - `const InstanceListResponseSyncInterval1800 InstanceListResponseSyncInterval = 1800` - `const InstanceListResponseSyncInterval3600 InstanceListResponseSyncInterval = 3600` - `const InstanceListResponseSyncInterval7200 InstanceListResponseSyncInterval = 7200` - `const InstanceListResponseSyncInterval14400 InstanceListResponseSyncInterval = 14400` - `const InstanceListResponseSyncInterval21600 InstanceListResponseSyncInterval = 21600` - `const InstanceListResponseSyncInterval43200 InstanceListResponseSyncInterval = 43200` - `const InstanceListResponseSyncInterval86400 InstanceListResponseSyncInterval = 86400` - `TokenID string` - `Type InstanceListResponseType` - `const InstanceListResponseTypeR2 InstanceListResponseType = "r2"` - `const InstanceListResponseTypeWebCrawler InstanceListResponseType = "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.Instances.List(context.TODO(), ai_search.InstanceListParams{ 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.Instances.New(ctx, params) (*InstanceNewResponse, error)` **post** `/accounts/{account_id}/ai-search/instances` Create a new instance. ### Parameters - `params InstanceNewParams` - `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[InstanceNewParamsAISearchModel]` Body param - `const InstanceNewParamsAISearchModelCfMetaLlama3_3_70bInstructFp8Fast InstanceNewParamsAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceNewParamsAISearchModelCfZaiOrgGlm4_7Flash InstanceNewParamsAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceNewParamsAISearchModelCfMetaLlama3_1_8bInstructFast InstanceNewParamsAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceNewParamsAISearchModelCfMetaLlama3_1_8bInstructFp8 InstanceNewParamsAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceNewParamsAISearchModelCfMetaLlama4Scout17b16eInstruct InstanceNewParamsAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceNewParamsAISearchModelCfQwenQwen3_30bA3bFp8 InstanceNewParamsAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceNewParamsAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceNewParamsAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceNewParamsAISearchModelCfMoonshotaiKimiK2Instruct InstanceNewParamsAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceNewParamsAISearchModelCfGoogleGemma3_12bIt InstanceNewParamsAISearchModel = "@cf/google/gemma-3-12b-it"` - `const InstanceNewParamsAISearchModelCfGoogleGemma4_26bA4bIt InstanceNewParamsAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceNewParamsAISearchModelCfMoonshotaiKimiK2_5 InstanceNewParamsAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceNewParamsAISearchModelAnthropicClaude3_7Sonnet InstanceNewParamsAISearchModel = "anthropic/claude-3-7-sonnet"` - `const InstanceNewParamsAISearchModelAnthropicClaudeSonnet4 InstanceNewParamsAISearchModel = "anthropic/claude-sonnet-4"` - `const InstanceNewParamsAISearchModelAnthropicClaudeOpus4 InstanceNewParamsAISearchModel = "anthropic/claude-opus-4"` - `const InstanceNewParamsAISearchModelAnthropicClaude3_5Haiku InstanceNewParamsAISearchModel = "anthropic/claude-3-5-haiku"` - `const InstanceNewParamsAISearchModelCerebrasQwen3_235bA22bInstruct InstanceNewParamsAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceNewParamsAISearchModelCerebrasQwen3_235bA22bThinking InstanceNewParamsAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceNewParamsAISearchModelCerebrasLlama3_3_70b InstanceNewParamsAISearchModel = "cerebras/llama-3.3-70b"` - `const InstanceNewParamsAISearchModelCerebrasLlama4Maverick17b128eInstruct InstanceNewParamsAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceNewParamsAISearchModelCerebrasLlama4Scout17b16eInstruct InstanceNewParamsAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceNewParamsAISearchModelCerebrasGptOSs120b InstanceNewParamsAISearchModel = "cerebras/gpt-oss-120b"` - `const InstanceNewParamsAISearchModelGoogleAIStudioGemini2_5Flash InstanceNewParamsAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceNewParamsAISearchModelGoogleAIStudioGemini2_5Pro InstanceNewParamsAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceNewParamsAISearchModelGrokGrok4 InstanceNewParamsAISearchModel = "grok/grok-4"` - `const InstanceNewParamsAISearchModelGroqLlama3_3_70bVersatile InstanceNewParamsAISearchModel = "groq/llama-3.3-70b-versatile"` - `const InstanceNewParamsAISearchModelGroqLlama3_1_8bInstant InstanceNewParamsAISearchModel = "groq/llama-3.1-8b-instant"` - `const InstanceNewParamsAISearchModelOpenAIGpt5 InstanceNewParamsAISearchModel = "openai/gpt-5"` - `const InstanceNewParamsAISearchModelOpenAIGpt5Mini InstanceNewParamsAISearchModel = "openai/gpt-5-mini"` - `const InstanceNewParamsAISearchModelOpenAIGpt5Nano InstanceNewParamsAISearchModel = "openai/gpt-5-nano"` - `const InstanceNewParamsAISearchModelEmpty InstanceNewParamsAISearchModel = ""` - `Cache param.Field[bool]` Body param - `CacheThreshold param.Field[InstanceNewParamsCacheThreshold]` Body param - `const InstanceNewParamsCacheThresholdSuperStrictMatch InstanceNewParamsCacheThreshold = "super_strict_match"` - `const InstanceNewParamsCacheThresholdCloseEnough InstanceNewParamsCacheThreshold = "close_enough"` - `const InstanceNewParamsCacheThresholdFlexibleFriend InstanceNewParamsCacheThreshold = "flexible_friend"` - `const InstanceNewParamsCacheThresholdAnythingGoes InstanceNewParamsCacheThreshold = "anything_goes"` - `CacheTTL param.Field[InstanceNewParamsCacheTTL]` 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 InstanceNewParamsCacheTTL600 InstanceNewParamsCacheTTL = 600` - `const InstanceNewParamsCacheTTL1800 InstanceNewParamsCacheTTL = 1800` - `const InstanceNewParamsCacheTTL3600 InstanceNewParamsCacheTTL = 3600` - `const InstanceNewParamsCacheTTL7200 InstanceNewParamsCacheTTL = 7200` - `const InstanceNewParamsCacheTTL21600 InstanceNewParamsCacheTTL = 21600` - `const InstanceNewParamsCacheTTL43200 InstanceNewParamsCacheTTL = 43200` - `const InstanceNewParamsCacheTTL86400 InstanceNewParamsCacheTTL = 86400` - `const InstanceNewParamsCacheTTL172800 InstanceNewParamsCacheTTL = 172800` - `const InstanceNewParamsCacheTTL259200 InstanceNewParamsCacheTTL = 259200` - `const InstanceNewParamsCacheTTL518400 InstanceNewParamsCacheTTL = 518400` - `Chunk param.Field[bool]` Body param - `ChunkOverlap param.Field[int64]` Body param - `ChunkSize param.Field[int64]` Body param - `CustomMetadata param.Field[[]InstanceNewParamsCustomMetadata]` Body param - `DataType InstanceNewParamsCustomMetadataDataType` - `const InstanceNewParamsCustomMetadataDataTypeText InstanceNewParamsCustomMetadataDataType = "text"` - `const InstanceNewParamsCustomMetadataDataTypeNumber InstanceNewParamsCustomMetadataDataType = "number"` - `const InstanceNewParamsCustomMetadataDataTypeBoolean InstanceNewParamsCustomMetadataDataType = "boolean"` - `const InstanceNewParamsCustomMetadataDataTypeDatetime InstanceNewParamsCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel param.Field[InstanceNewParamsEmbeddingModel]` Body param - `const InstanceNewParamsEmbeddingModelCfQwenQwen3Embedding0_6b InstanceNewParamsEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const InstanceNewParamsEmbeddingModelCfBaaiBgeM3 InstanceNewParamsEmbeddingModel = "@cf/baai/bge-m3"` - `const InstanceNewParamsEmbeddingModelCfBaaiBgeLargeEnV1_5 InstanceNewParamsEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const InstanceNewParamsEmbeddingModelCfGoogleEmbeddinggemma300m InstanceNewParamsEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const InstanceNewParamsEmbeddingModelGoogleAIStudioGeminiEmbedding001 InstanceNewParamsEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const InstanceNewParamsEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview InstanceNewParamsEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const InstanceNewParamsEmbeddingModelOpenAITextEmbedding3Small InstanceNewParamsEmbeddingModel = "openai/text-embedding-3-small"` - `const InstanceNewParamsEmbeddingModelOpenAITextEmbedding3Large InstanceNewParamsEmbeddingModel = "openai/text-embedding-3-large"` - `const InstanceNewParamsEmbeddingModelEmpty InstanceNewParamsEmbeddingModel = ""` - `FusionMethod param.Field[InstanceNewParamsFusionMethod]` Body param - `const InstanceNewParamsFusionMethodMax InstanceNewParamsFusionMethod = "max"` - `const InstanceNewParamsFusionMethodRrf InstanceNewParamsFusionMethod = "rrf"` - `HybridSearchEnabled param.Field[bool]` Body param: Deprecated — use index_method instead. - `IndexMethod param.Field[InstanceNewParamsIndexMethod]` 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[InstanceNewParamsIndexingOptions]` Body param - `KeywordTokenizer InstanceNewParamsIndexingOptionsKeywordTokenizer` 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 InstanceNewParamsIndexingOptionsKeywordTokenizerPorter InstanceNewParamsIndexingOptionsKeywordTokenizer = "porter"` - `const InstanceNewParamsIndexingOptionsKeywordTokenizerTrigram InstanceNewParamsIndexingOptionsKeywordTokenizer = "trigram"` - `MaxNumResults param.Field[int64]` Body param - `Metadata param.Field[InstanceNewParamsMetadata]` Body param - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `PublicEndpointParams param.Field[InstanceNewParamsPublicEndpointParams]` Body param - `AuthorizedHosts []string` - `ChatCompletionsEndpoint InstanceNewParamsPublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp InstanceNewParamsPublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit InstanceNewParamsPublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique InstanceNewParamsPublicEndpointParamsRateLimitTechnique` - `const InstanceNewParamsPublicEndpointParamsRateLimitTechniqueFixed InstanceNewParamsPublicEndpointParamsRateLimitTechnique = "fixed"` - `const InstanceNewParamsPublicEndpointParamsRateLimitTechniqueSliding InstanceNewParamsPublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint InstanceNewParamsPublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking param.Field[bool]` Body param - `RerankingModel param.Field[InstanceNewParamsRerankingModel]` Body param - `const InstanceNewParamsRerankingModelCfBaaiBgeRerankerBase InstanceNewParamsRerankingModel = "@cf/baai/bge-reranker-base"` - `const InstanceNewParamsRerankingModelEmpty InstanceNewParamsRerankingModel = ""` - `RetrievalOptions param.Field[InstanceNewParamsRetrievalOptions]` Body param - `BoostBy []InstanceNewParamsRetrievalOptionsBoostBy` 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 InstanceNewParamsRetrievalOptionsBoostByDirection` 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 InstanceNewParamsRetrievalOptionsBoostByDirectionAsc InstanceNewParamsRetrievalOptionsBoostByDirection = "asc"` - `const InstanceNewParamsRetrievalOptionsBoostByDirectionDesc InstanceNewParamsRetrievalOptionsBoostByDirection = "desc"` - `const InstanceNewParamsRetrievalOptionsBoostByDirectionExists InstanceNewParamsRetrievalOptionsBoostByDirection = "exists"` - `const InstanceNewParamsRetrievalOptionsBoostByDirectionNotExists InstanceNewParamsRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode InstanceNewParamsRetrievalOptionsKeywordMatchMode` 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 InstanceNewParamsRetrievalOptionsKeywordMatchModeAnd InstanceNewParamsRetrievalOptionsKeywordMatchMode = "and"` - `const InstanceNewParamsRetrievalOptionsKeywordMatchModeOr InstanceNewParamsRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel param.Field[InstanceNewParamsRewriteModel]` Body param - `const InstanceNewParamsRewriteModelCfMetaLlama3_3_70bInstructFp8Fast InstanceNewParamsRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceNewParamsRewriteModelCfZaiOrgGlm4_7Flash InstanceNewParamsRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceNewParamsRewriteModelCfMetaLlama3_1_8bInstructFast InstanceNewParamsRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceNewParamsRewriteModelCfMetaLlama3_1_8bInstructFp8 InstanceNewParamsRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceNewParamsRewriteModelCfMetaLlama4Scout17b16eInstruct InstanceNewParamsRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceNewParamsRewriteModelCfQwenQwen3_30bA3bFp8 InstanceNewParamsRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceNewParamsRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceNewParamsRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceNewParamsRewriteModelCfMoonshotaiKimiK2Instruct InstanceNewParamsRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceNewParamsRewriteModelCfGoogleGemma3_12bIt InstanceNewParamsRewriteModel = "@cf/google/gemma-3-12b-it"` - `const InstanceNewParamsRewriteModelCfGoogleGemma4_26bA4bIt InstanceNewParamsRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceNewParamsRewriteModelCfMoonshotaiKimiK2_5 InstanceNewParamsRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceNewParamsRewriteModelAnthropicClaude3_7Sonnet InstanceNewParamsRewriteModel = "anthropic/claude-3-7-sonnet"` - `const InstanceNewParamsRewriteModelAnthropicClaudeSonnet4 InstanceNewParamsRewriteModel = "anthropic/claude-sonnet-4"` - `const InstanceNewParamsRewriteModelAnthropicClaudeOpus4 InstanceNewParamsRewriteModel = "anthropic/claude-opus-4"` - `const InstanceNewParamsRewriteModelAnthropicClaude3_5Haiku InstanceNewParamsRewriteModel = "anthropic/claude-3-5-haiku"` - `const InstanceNewParamsRewriteModelCerebrasQwen3_235bA22bInstruct InstanceNewParamsRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceNewParamsRewriteModelCerebrasQwen3_235bA22bThinking InstanceNewParamsRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceNewParamsRewriteModelCerebrasLlama3_3_70b InstanceNewParamsRewriteModel = "cerebras/llama-3.3-70b"` - `const InstanceNewParamsRewriteModelCerebrasLlama4Maverick17b128eInstruct InstanceNewParamsRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceNewParamsRewriteModelCerebrasLlama4Scout17b16eInstruct InstanceNewParamsRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceNewParamsRewriteModelCerebrasGptOSs120b InstanceNewParamsRewriteModel = "cerebras/gpt-oss-120b"` - `const InstanceNewParamsRewriteModelGoogleAIStudioGemini2_5Flash InstanceNewParamsRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceNewParamsRewriteModelGoogleAIStudioGemini2_5Pro InstanceNewParamsRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceNewParamsRewriteModelGrokGrok4 InstanceNewParamsRewriteModel = "grok/grok-4"` - `const InstanceNewParamsRewriteModelGroqLlama3_3_70bVersatile InstanceNewParamsRewriteModel = "groq/llama-3.3-70b-versatile"` - `const InstanceNewParamsRewriteModelGroqLlama3_1_8bInstant InstanceNewParamsRewriteModel = "groq/llama-3.1-8b-instant"` - `const InstanceNewParamsRewriteModelOpenAIGpt5 InstanceNewParamsRewriteModel = "openai/gpt-5"` - `const InstanceNewParamsRewriteModelOpenAIGpt5Mini InstanceNewParamsRewriteModel = "openai/gpt-5-mini"` - `const InstanceNewParamsRewriteModelOpenAIGpt5Nano InstanceNewParamsRewriteModel = "openai/gpt-5-nano"` - `const InstanceNewParamsRewriteModelEmpty InstanceNewParamsRewriteModel = ""` - `RewriteQuery param.Field[bool]` Body param - `ScoreThreshold param.Field[float64]` Body param - `Source param.Field[string]` Body param - `SourceParams param.Field[InstanceNewParamsSourceParams]` 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 InstanceNewParamsSourceParamsWebCrawler` - `CrawlOptions InstanceNewParamsSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source InstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSource` - `const InstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSourceAll InstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const InstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSourceSitemaps InstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const InstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSourceLinks InstanceNewParamsSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions InstanceNewParamsSourceParamsWebCrawlerParseOptions` - `ContentSelector []InstanceNewParamsSourceParamsWebCrawlerParseOptionsContentSelector` 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 InstanceNewParamsSourceParamsWebCrawlerParseType` - `const InstanceNewParamsSourceParamsWebCrawlerParseTypeSitemap InstanceNewParamsSourceParamsWebCrawlerParseType = "sitemap"` - `const InstanceNewParamsSourceParamsWebCrawlerParseTypeFeedRss InstanceNewParamsSourceParamsWebCrawlerParseType = "feed-rss"` - `const InstanceNewParamsSourceParamsWebCrawlerParseTypeCrawl InstanceNewParamsSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions InstanceNewParamsSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `SyncInterval param.Field[InstanceNewParamsSyncInterval]` 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 InstanceNewParamsSyncInterval900 InstanceNewParamsSyncInterval = 900` - `const InstanceNewParamsSyncInterval1800 InstanceNewParamsSyncInterval = 1800` - `const InstanceNewParamsSyncInterval3600 InstanceNewParamsSyncInterval = 3600` - `const InstanceNewParamsSyncInterval7200 InstanceNewParamsSyncInterval = 7200` - `const InstanceNewParamsSyncInterval14400 InstanceNewParamsSyncInterval = 14400` - `const InstanceNewParamsSyncInterval21600 InstanceNewParamsSyncInterval = 21600` - `const InstanceNewParamsSyncInterval43200 InstanceNewParamsSyncInterval = 43200` - `const InstanceNewParamsSyncInterval86400 InstanceNewParamsSyncInterval = 86400` - `TokenID param.Field[string]` Body param - `Type param.Field[InstanceNewParamsType]` Body param - `const InstanceNewParamsTypeR2 InstanceNewParamsType = "r2"` - `const InstanceNewParamsTypeWebCrawler InstanceNewParamsType = "web-crawler"` ### Returns - `type InstanceNewResponse struct{…}` - `ID string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `CreatedAt Time` - `ModifiedAt Time` - `AIGatewayID string` - `AISearchModel InstanceNewResponseAISearchModel` - `const InstanceNewResponseAISearchModelCfMetaLlama3_3_70bInstructFp8Fast InstanceNewResponseAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceNewResponseAISearchModelCfZaiOrgGlm4_7Flash InstanceNewResponseAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceNewResponseAISearchModelCfMetaLlama3_1_8bInstructFast InstanceNewResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceNewResponseAISearchModelCfMetaLlama3_1_8bInstructFp8 InstanceNewResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceNewResponseAISearchModelCfMetaLlama4Scout17b16eInstruct InstanceNewResponseAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceNewResponseAISearchModelCfQwenQwen3_30bA3bFp8 InstanceNewResponseAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceNewResponseAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceNewResponseAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceNewResponseAISearchModelCfMoonshotaiKimiK2Instruct InstanceNewResponseAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceNewResponseAISearchModelCfGoogleGemma3_12bIt InstanceNewResponseAISearchModel = "@cf/google/gemma-3-12b-it"` - `const InstanceNewResponseAISearchModelCfGoogleGemma4_26bA4bIt InstanceNewResponseAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceNewResponseAISearchModelCfMoonshotaiKimiK2_5 InstanceNewResponseAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceNewResponseAISearchModelAnthropicClaude3_7Sonnet InstanceNewResponseAISearchModel = "anthropic/claude-3-7-sonnet"` - `const InstanceNewResponseAISearchModelAnthropicClaudeSonnet4 InstanceNewResponseAISearchModel = "anthropic/claude-sonnet-4"` - `const InstanceNewResponseAISearchModelAnthropicClaudeOpus4 InstanceNewResponseAISearchModel = "anthropic/claude-opus-4"` - `const InstanceNewResponseAISearchModelAnthropicClaude3_5Haiku InstanceNewResponseAISearchModel = "anthropic/claude-3-5-haiku"` - `const InstanceNewResponseAISearchModelCerebrasQwen3_235bA22bInstruct InstanceNewResponseAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceNewResponseAISearchModelCerebrasQwen3_235bA22bThinking InstanceNewResponseAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceNewResponseAISearchModelCerebrasLlama3_3_70b InstanceNewResponseAISearchModel = "cerebras/llama-3.3-70b"` - `const InstanceNewResponseAISearchModelCerebrasLlama4Maverick17b128eInstruct InstanceNewResponseAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceNewResponseAISearchModelCerebrasLlama4Scout17b16eInstruct InstanceNewResponseAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceNewResponseAISearchModelCerebrasGptOSs120b InstanceNewResponseAISearchModel = "cerebras/gpt-oss-120b"` - `const InstanceNewResponseAISearchModelGoogleAIStudioGemini2_5Flash InstanceNewResponseAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceNewResponseAISearchModelGoogleAIStudioGemini2_5Pro InstanceNewResponseAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceNewResponseAISearchModelGrokGrok4 InstanceNewResponseAISearchModel = "grok/grok-4"` - `const InstanceNewResponseAISearchModelGroqLlama3_3_70bVersatile InstanceNewResponseAISearchModel = "groq/llama-3.3-70b-versatile"` - `const InstanceNewResponseAISearchModelGroqLlama3_1_8bInstant InstanceNewResponseAISearchModel = "groq/llama-3.1-8b-instant"` - `const InstanceNewResponseAISearchModelOpenAIGpt5 InstanceNewResponseAISearchModel = "openai/gpt-5"` - `const InstanceNewResponseAISearchModelOpenAIGpt5Mini InstanceNewResponseAISearchModel = "openai/gpt-5-mini"` - `const InstanceNewResponseAISearchModelOpenAIGpt5Nano InstanceNewResponseAISearchModel = "openai/gpt-5-nano"` - `const InstanceNewResponseAISearchModelEmpty InstanceNewResponseAISearchModel = ""` - `Cache bool` - `CacheThreshold InstanceNewResponseCacheThreshold` - `const InstanceNewResponseCacheThresholdSuperStrictMatch InstanceNewResponseCacheThreshold = "super_strict_match"` - `const InstanceNewResponseCacheThresholdCloseEnough InstanceNewResponseCacheThreshold = "close_enough"` - `const InstanceNewResponseCacheThresholdFlexibleFriend InstanceNewResponseCacheThreshold = "flexible_friend"` - `const InstanceNewResponseCacheThresholdAnythingGoes InstanceNewResponseCacheThreshold = "anything_goes"` - `CacheTTL InstanceNewResponseCacheTTL` 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 InstanceNewResponseCacheTTL600 InstanceNewResponseCacheTTL = 600` - `const InstanceNewResponseCacheTTL1800 InstanceNewResponseCacheTTL = 1800` - `const InstanceNewResponseCacheTTL3600 InstanceNewResponseCacheTTL = 3600` - `const InstanceNewResponseCacheTTL7200 InstanceNewResponseCacheTTL = 7200` - `const InstanceNewResponseCacheTTL21600 InstanceNewResponseCacheTTL = 21600` - `const InstanceNewResponseCacheTTL43200 InstanceNewResponseCacheTTL = 43200` - `const InstanceNewResponseCacheTTL86400 InstanceNewResponseCacheTTL = 86400` - `const InstanceNewResponseCacheTTL172800 InstanceNewResponseCacheTTL = 172800` - `const InstanceNewResponseCacheTTL259200 InstanceNewResponseCacheTTL = 259200` - `const InstanceNewResponseCacheTTL518400 InstanceNewResponseCacheTTL = 518400` - `ChunkOverlap int64` - `ChunkSize int64` - `CreatedBy string` - `CustomMetadata []InstanceNewResponseCustomMetadata` - `DataType InstanceNewResponseCustomMetadataDataType` - `const InstanceNewResponseCustomMetadataDataTypeText InstanceNewResponseCustomMetadataDataType = "text"` - `const InstanceNewResponseCustomMetadataDataTypeNumber InstanceNewResponseCustomMetadataDataType = "number"` - `const InstanceNewResponseCustomMetadataDataTypeBoolean InstanceNewResponseCustomMetadataDataType = "boolean"` - `const InstanceNewResponseCustomMetadataDataTypeDatetime InstanceNewResponseCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel InstanceNewResponseEmbeddingModel` - `const InstanceNewResponseEmbeddingModelCfQwenQwen3Embedding0_6b InstanceNewResponseEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const InstanceNewResponseEmbeddingModelCfBaaiBgeM3 InstanceNewResponseEmbeddingModel = "@cf/baai/bge-m3"` - `const InstanceNewResponseEmbeddingModelCfBaaiBgeLargeEnV1_5 InstanceNewResponseEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const InstanceNewResponseEmbeddingModelCfGoogleEmbeddinggemma300m InstanceNewResponseEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const InstanceNewResponseEmbeddingModelGoogleAIStudioGeminiEmbedding001 InstanceNewResponseEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const InstanceNewResponseEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview InstanceNewResponseEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const InstanceNewResponseEmbeddingModelOpenAITextEmbedding3Small InstanceNewResponseEmbeddingModel = "openai/text-embedding-3-small"` - `const InstanceNewResponseEmbeddingModelOpenAITextEmbedding3Large InstanceNewResponseEmbeddingModel = "openai/text-embedding-3-large"` - `const InstanceNewResponseEmbeddingModelEmpty InstanceNewResponseEmbeddingModel = ""` - `Enable bool` - `EngineVersion float64` - `FusionMethod InstanceNewResponseFusionMethod` - `const InstanceNewResponseFusionMethodMax InstanceNewResponseFusionMethod = "max"` - `const InstanceNewResponseFusionMethodRrf InstanceNewResponseFusionMethod = "rrf"` - `HybridSearchEnabled bool` Deprecated — use index_method instead. - `IndexMethod InstanceNewResponseIndexMethod` 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 InstanceNewResponseIndexingOptions` - `KeywordTokenizer InstanceNewResponseIndexingOptionsKeywordTokenizer` 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 InstanceNewResponseIndexingOptionsKeywordTokenizerPorter InstanceNewResponseIndexingOptionsKeywordTokenizer = "porter"` - `const InstanceNewResponseIndexingOptionsKeywordTokenizerTrigram InstanceNewResponseIndexingOptionsKeywordTokenizer = "trigram"` - `LastActivity Time` - `MaxNumResults int64` - `Metadata InstanceNewResponseMetadata` - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `ModifiedBy string` - `Namespace string` - `Paused bool` - `PublicEndpointID string` - `PublicEndpointParams InstanceNewResponsePublicEndpointParams` - `AuthorizedHosts []string` - `ChatCompletionsEndpoint InstanceNewResponsePublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp InstanceNewResponsePublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit InstanceNewResponsePublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique InstanceNewResponsePublicEndpointParamsRateLimitTechnique` - `const InstanceNewResponsePublicEndpointParamsRateLimitTechniqueFixed InstanceNewResponsePublicEndpointParamsRateLimitTechnique = "fixed"` - `const InstanceNewResponsePublicEndpointParamsRateLimitTechniqueSliding InstanceNewResponsePublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint InstanceNewResponsePublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking bool` - `RerankingModel InstanceNewResponseRerankingModel` - `const InstanceNewResponseRerankingModelCfBaaiBgeRerankerBase InstanceNewResponseRerankingModel = "@cf/baai/bge-reranker-base"` - `const InstanceNewResponseRerankingModelEmpty InstanceNewResponseRerankingModel = ""` - `RetrievalOptions InstanceNewResponseRetrievalOptions` - `BoostBy []InstanceNewResponseRetrievalOptionsBoostBy` 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 InstanceNewResponseRetrievalOptionsBoostByDirection` 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 InstanceNewResponseRetrievalOptionsBoostByDirectionAsc InstanceNewResponseRetrievalOptionsBoostByDirection = "asc"` - `const InstanceNewResponseRetrievalOptionsBoostByDirectionDesc InstanceNewResponseRetrievalOptionsBoostByDirection = "desc"` - `const InstanceNewResponseRetrievalOptionsBoostByDirectionExists InstanceNewResponseRetrievalOptionsBoostByDirection = "exists"` - `const InstanceNewResponseRetrievalOptionsBoostByDirectionNotExists InstanceNewResponseRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode InstanceNewResponseRetrievalOptionsKeywordMatchMode` 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 InstanceNewResponseRetrievalOptionsKeywordMatchModeAnd InstanceNewResponseRetrievalOptionsKeywordMatchMode = "and"` - `const InstanceNewResponseRetrievalOptionsKeywordMatchModeOr InstanceNewResponseRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel InstanceNewResponseRewriteModel` - `const InstanceNewResponseRewriteModelCfMetaLlama3_3_70bInstructFp8Fast InstanceNewResponseRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceNewResponseRewriteModelCfZaiOrgGlm4_7Flash InstanceNewResponseRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceNewResponseRewriteModelCfMetaLlama3_1_8bInstructFast InstanceNewResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceNewResponseRewriteModelCfMetaLlama3_1_8bInstructFp8 InstanceNewResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceNewResponseRewriteModelCfMetaLlama4Scout17b16eInstruct InstanceNewResponseRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceNewResponseRewriteModelCfQwenQwen3_30bA3bFp8 InstanceNewResponseRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceNewResponseRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceNewResponseRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceNewResponseRewriteModelCfMoonshotaiKimiK2Instruct InstanceNewResponseRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceNewResponseRewriteModelCfGoogleGemma3_12bIt InstanceNewResponseRewriteModel = "@cf/google/gemma-3-12b-it"` - `const InstanceNewResponseRewriteModelCfGoogleGemma4_26bA4bIt InstanceNewResponseRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceNewResponseRewriteModelCfMoonshotaiKimiK2_5 InstanceNewResponseRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceNewResponseRewriteModelAnthropicClaude3_7Sonnet InstanceNewResponseRewriteModel = "anthropic/claude-3-7-sonnet"` - `const InstanceNewResponseRewriteModelAnthropicClaudeSonnet4 InstanceNewResponseRewriteModel = "anthropic/claude-sonnet-4"` - `const InstanceNewResponseRewriteModelAnthropicClaudeOpus4 InstanceNewResponseRewriteModel = "anthropic/claude-opus-4"` - `const InstanceNewResponseRewriteModelAnthropicClaude3_5Haiku InstanceNewResponseRewriteModel = "anthropic/claude-3-5-haiku"` - `const InstanceNewResponseRewriteModelCerebrasQwen3_235bA22bInstruct InstanceNewResponseRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceNewResponseRewriteModelCerebrasQwen3_235bA22bThinking InstanceNewResponseRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceNewResponseRewriteModelCerebrasLlama3_3_70b InstanceNewResponseRewriteModel = "cerebras/llama-3.3-70b"` - `const InstanceNewResponseRewriteModelCerebrasLlama4Maverick17b128eInstruct InstanceNewResponseRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceNewResponseRewriteModelCerebrasLlama4Scout17b16eInstruct InstanceNewResponseRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceNewResponseRewriteModelCerebrasGptOSs120b InstanceNewResponseRewriteModel = "cerebras/gpt-oss-120b"` - `const InstanceNewResponseRewriteModelGoogleAIStudioGemini2_5Flash InstanceNewResponseRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceNewResponseRewriteModelGoogleAIStudioGemini2_5Pro InstanceNewResponseRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceNewResponseRewriteModelGrokGrok4 InstanceNewResponseRewriteModel = "grok/grok-4"` - `const InstanceNewResponseRewriteModelGroqLlama3_3_70bVersatile InstanceNewResponseRewriteModel = "groq/llama-3.3-70b-versatile"` - `const InstanceNewResponseRewriteModelGroqLlama3_1_8bInstant InstanceNewResponseRewriteModel = "groq/llama-3.1-8b-instant"` - `const InstanceNewResponseRewriteModelOpenAIGpt5 InstanceNewResponseRewriteModel = "openai/gpt-5"` - `const InstanceNewResponseRewriteModelOpenAIGpt5Mini InstanceNewResponseRewriteModel = "openai/gpt-5-mini"` - `const InstanceNewResponseRewriteModelOpenAIGpt5Nano InstanceNewResponseRewriteModel = "openai/gpt-5-nano"` - `const InstanceNewResponseRewriteModelEmpty InstanceNewResponseRewriteModel = ""` - `RewriteQuery bool` - `ScoreThreshold float64` - `Source string` - `SourceParams InstanceNewResponseSourceParams` - `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 InstanceNewResponseSourceParamsWebCrawler` - `CrawlOptions InstanceNewResponseSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source InstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSource` - `const InstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSourceAll InstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const InstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSourceSitemaps InstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const InstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSourceLinks InstanceNewResponseSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions InstanceNewResponseSourceParamsWebCrawlerParseOptions` - `ContentSelector []InstanceNewResponseSourceParamsWebCrawlerParseOptionsContentSelector` 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 InstanceNewResponseSourceParamsWebCrawlerParseType` - `const InstanceNewResponseSourceParamsWebCrawlerParseTypeSitemap InstanceNewResponseSourceParamsWebCrawlerParseType = "sitemap"` - `const InstanceNewResponseSourceParamsWebCrawlerParseTypeFeedRss InstanceNewResponseSourceParamsWebCrawlerParseType = "feed-rss"` - `const InstanceNewResponseSourceParamsWebCrawlerParseTypeCrawl InstanceNewResponseSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions InstanceNewResponseSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Status string` - `SyncInterval InstanceNewResponseSyncInterval` 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 InstanceNewResponseSyncInterval900 InstanceNewResponseSyncInterval = 900` - `const InstanceNewResponseSyncInterval1800 InstanceNewResponseSyncInterval = 1800` - `const InstanceNewResponseSyncInterval3600 InstanceNewResponseSyncInterval = 3600` - `const InstanceNewResponseSyncInterval7200 InstanceNewResponseSyncInterval = 7200` - `const InstanceNewResponseSyncInterval14400 InstanceNewResponseSyncInterval = 14400` - `const InstanceNewResponseSyncInterval21600 InstanceNewResponseSyncInterval = 21600` - `const InstanceNewResponseSyncInterval43200 InstanceNewResponseSyncInterval = 43200` - `const InstanceNewResponseSyncInterval86400 InstanceNewResponseSyncInterval = 86400` - `TokenID string` - `Type InstanceNewResponseType` - `const InstanceNewResponseTypeR2 InstanceNewResponseType = "r2"` - `const InstanceNewResponseTypeWebCrawler InstanceNewResponseType = "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.Instances.New(context.TODO(), ai_search.InstanceNewParams{ 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.Instances.Read(ctx, id, query) (*InstanceReadResponse, error)` **get** `/accounts/{account_id}/ai-search/instances/{id}` Read instance. ### Parameters - `id string` - `query InstanceReadParams` - `AccountID param.Field[string]` ### Returns - `type InstanceReadResponse struct{…}` - `ID string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `CreatedAt Time` - `ModifiedAt Time` - `AIGatewayID string` - `AISearchModel InstanceReadResponseAISearchModel` - `const InstanceReadResponseAISearchModelCfMetaLlama3_3_70bInstructFp8Fast InstanceReadResponseAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceReadResponseAISearchModelCfZaiOrgGlm4_7Flash InstanceReadResponseAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceReadResponseAISearchModelCfMetaLlama3_1_8bInstructFast InstanceReadResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceReadResponseAISearchModelCfMetaLlama3_1_8bInstructFp8 InstanceReadResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceReadResponseAISearchModelCfMetaLlama4Scout17b16eInstruct InstanceReadResponseAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceReadResponseAISearchModelCfQwenQwen3_30bA3bFp8 InstanceReadResponseAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceReadResponseAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceReadResponseAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceReadResponseAISearchModelCfMoonshotaiKimiK2Instruct InstanceReadResponseAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceReadResponseAISearchModelCfGoogleGemma3_12bIt InstanceReadResponseAISearchModel = "@cf/google/gemma-3-12b-it"` - `const InstanceReadResponseAISearchModelCfGoogleGemma4_26bA4bIt InstanceReadResponseAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceReadResponseAISearchModelCfMoonshotaiKimiK2_5 InstanceReadResponseAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceReadResponseAISearchModelAnthropicClaude3_7Sonnet InstanceReadResponseAISearchModel = "anthropic/claude-3-7-sonnet"` - `const InstanceReadResponseAISearchModelAnthropicClaudeSonnet4 InstanceReadResponseAISearchModel = "anthropic/claude-sonnet-4"` - `const InstanceReadResponseAISearchModelAnthropicClaudeOpus4 InstanceReadResponseAISearchModel = "anthropic/claude-opus-4"` - `const InstanceReadResponseAISearchModelAnthropicClaude3_5Haiku InstanceReadResponseAISearchModel = "anthropic/claude-3-5-haiku"` - `const InstanceReadResponseAISearchModelCerebrasQwen3_235bA22bInstruct InstanceReadResponseAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceReadResponseAISearchModelCerebrasQwen3_235bA22bThinking InstanceReadResponseAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceReadResponseAISearchModelCerebrasLlama3_3_70b InstanceReadResponseAISearchModel = "cerebras/llama-3.3-70b"` - `const InstanceReadResponseAISearchModelCerebrasLlama4Maverick17b128eInstruct InstanceReadResponseAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceReadResponseAISearchModelCerebrasLlama4Scout17b16eInstruct InstanceReadResponseAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceReadResponseAISearchModelCerebrasGptOSs120b InstanceReadResponseAISearchModel = "cerebras/gpt-oss-120b"` - `const InstanceReadResponseAISearchModelGoogleAIStudioGemini2_5Flash InstanceReadResponseAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceReadResponseAISearchModelGoogleAIStudioGemini2_5Pro InstanceReadResponseAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceReadResponseAISearchModelGrokGrok4 InstanceReadResponseAISearchModel = "grok/grok-4"` - `const InstanceReadResponseAISearchModelGroqLlama3_3_70bVersatile InstanceReadResponseAISearchModel = "groq/llama-3.3-70b-versatile"` - `const InstanceReadResponseAISearchModelGroqLlama3_1_8bInstant InstanceReadResponseAISearchModel = "groq/llama-3.1-8b-instant"` - `const InstanceReadResponseAISearchModelOpenAIGpt5 InstanceReadResponseAISearchModel = "openai/gpt-5"` - `const InstanceReadResponseAISearchModelOpenAIGpt5Mini InstanceReadResponseAISearchModel = "openai/gpt-5-mini"` - `const InstanceReadResponseAISearchModelOpenAIGpt5Nano InstanceReadResponseAISearchModel = "openai/gpt-5-nano"` - `const InstanceReadResponseAISearchModelEmpty InstanceReadResponseAISearchModel = ""` - `Cache bool` - `CacheThreshold InstanceReadResponseCacheThreshold` - `const InstanceReadResponseCacheThresholdSuperStrictMatch InstanceReadResponseCacheThreshold = "super_strict_match"` - `const InstanceReadResponseCacheThresholdCloseEnough InstanceReadResponseCacheThreshold = "close_enough"` - `const InstanceReadResponseCacheThresholdFlexibleFriend InstanceReadResponseCacheThreshold = "flexible_friend"` - `const InstanceReadResponseCacheThresholdAnythingGoes InstanceReadResponseCacheThreshold = "anything_goes"` - `CacheTTL InstanceReadResponseCacheTTL` 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 InstanceReadResponseCacheTTL600 InstanceReadResponseCacheTTL = 600` - `const InstanceReadResponseCacheTTL1800 InstanceReadResponseCacheTTL = 1800` - `const InstanceReadResponseCacheTTL3600 InstanceReadResponseCacheTTL = 3600` - `const InstanceReadResponseCacheTTL7200 InstanceReadResponseCacheTTL = 7200` - `const InstanceReadResponseCacheTTL21600 InstanceReadResponseCacheTTL = 21600` - `const InstanceReadResponseCacheTTL43200 InstanceReadResponseCacheTTL = 43200` - `const InstanceReadResponseCacheTTL86400 InstanceReadResponseCacheTTL = 86400` - `const InstanceReadResponseCacheTTL172800 InstanceReadResponseCacheTTL = 172800` - `const InstanceReadResponseCacheTTL259200 InstanceReadResponseCacheTTL = 259200` - `const InstanceReadResponseCacheTTL518400 InstanceReadResponseCacheTTL = 518400` - `ChunkOverlap int64` - `ChunkSize int64` - `CreatedBy string` - `CustomMetadata []InstanceReadResponseCustomMetadata` - `DataType InstanceReadResponseCustomMetadataDataType` - `const InstanceReadResponseCustomMetadataDataTypeText InstanceReadResponseCustomMetadataDataType = "text"` - `const InstanceReadResponseCustomMetadataDataTypeNumber InstanceReadResponseCustomMetadataDataType = "number"` - `const InstanceReadResponseCustomMetadataDataTypeBoolean InstanceReadResponseCustomMetadataDataType = "boolean"` - `const InstanceReadResponseCustomMetadataDataTypeDatetime InstanceReadResponseCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel InstanceReadResponseEmbeddingModel` - `const InstanceReadResponseEmbeddingModelCfQwenQwen3Embedding0_6b InstanceReadResponseEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const InstanceReadResponseEmbeddingModelCfBaaiBgeM3 InstanceReadResponseEmbeddingModel = "@cf/baai/bge-m3"` - `const InstanceReadResponseEmbeddingModelCfBaaiBgeLargeEnV1_5 InstanceReadResponseEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const InstanceReadResponseEmbeddingModelCfGoogleEmbeddinggemma300m InstanceReadResponseEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const InstanceReadResponseEmbeddingModelGoogleAIStudioGeminiEmbedding001 InstanceReadResponseEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const InstanceReadResponseEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview InstanceReadResponseEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const InstanceReadResponseEmbeddingModelOpenAITextEmbedding3Small InstanceReadResponseEmbeddingModel = "openai/text-embedding-3-small"` - `const InstanceReadResponseEmbeddingModelOpenAITextEmbedding3Large InstanceReadResponseEmbeddingModel = "openai/text-embedding-3-large"` - `const InstanceReadResponseEmbeddingModelEmpty InstanceReadResponseEmbeddingModel = ""` - `Enable bool` - `EngineVersion float64` - `FusionMethod InstanceReadResponseFusionMethod` - `const InstanceReadResponseFusionMethodMax InstanceReadResponseFusionMethod = "max"` - `const InstanceReadResponseFusionMethodRrf InstanceReadResponseFusionMethod = "rrf"` - `HybridSearchEnabled bool` Deprecated — use index_method instead. - `IndexMethod InstanceReadResponseIndexMethod` 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 InstanceReadResponseIndexingOptions` - `KeywordTokenizer InstanceReadResponseIndexingOptionsKeywordTokenizer` 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 InstanceReadResponseIndexingOptionsKeywordTokenizerPorter InstanceReadResponseIndexingOptionsKeywordTokenizer = "porter"` - `const InstanceReadResponseIndexingOptionsKeywordTokenizerTrigram InstanceReadResponseIndexingOptionsKeywordTokenizer = "trigram"` - `LastActivity Time` - `MaxNumResults int64` - `Metadata InstanceReadResponseMetadata` - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `ModifiedBy string` - `Namespace string` - `Paused bool` - `PublicEndpointID string` - `PublicEndpointParams InstanceReadResponsePublicEndpointParams` - `AuthorizedHosts []string` - `ChatCompletionsEndpoint InstanceReadResponsePublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp InstanceReadResponsePublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit InstanceReadResponsePublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique InstanceReadResponsePublicEndpointParamsRateLimitTechnique` - `const InstanceReadResponsePublicEndpointParamsRateLimitTechniqueFixed InstanceReadResponsePublicEndpointParamsRateLimitTechnique = "fixed"` - `const InstanceReadResponsePublicEndpointParamsRateLimitTechniqueSliding InstanceReadResponsePublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint InstanceReadResponsePublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking bool` - `RerankingModel InstanceReadResponseRerankingModel` - `const InstanceReadResponseRerankingModelCfBaaiBgeRerankerBase InstanceReadResponseRerankingModel = "@cf/baai/bge-reranker-base"` - `const InstanceReadResponseRerankingModelEmpty InstanceReadResponseRerankingModel = ""` - `RetrievalOptions InstanceReadResponseRetrievalOptions` - `BoostBy []InstanceReadResponseRetrievalOptionsBoostBy` 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 InstanceReadResponseRetrievalOptionsBoostByDirection` 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 InstanceReadResponseRetrievalOptionsBoostByDirectionAsc InstanceReadResponseRetrievalOptionsBoostByDirection = "asc"` - `const InstanceReadResponseRetrievalOptionsBoostByDirectionDesc InstanceReadResponseRetrievalOptionsBoostByDirection = "desc"` - `const InstanceReadResponseRetrievalOptionsBoostByDirectionExists InstanceReadResponseRetrievalOptionsBoostByDirection = "exists"` - `const InstanceReadResponseRetrievalOptionsBoostByDirectionNotExists InstanceReadResponseRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode InstanceReadResponseRetrievalOptionsKeywordMatchMode` 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 InstanceReadResponseRetrievalOptionsKeywordMatchModeAnd InstanceReadResponseRetrievalOptionsKeywordMatchMode = "and"` - `const InstanceReadResponseRetrievalOptionsKeywordMatchModeOr InstanceReadResponseRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel InstanceReadResponseRewriteModel` - `const InstanceReadResponseRewriteModelCfMetaLlama3_3_70bInstructFp8Fast InstanceReadResponseRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceReadResponseRewriteModelCfZaiOrgGlm4_7Flash InstanceReadResponseRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceReadResponseRewriteModelCfMetaLlama3_1_8bInstructFast InstanceReadResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceReadResponseRewriteModelCfMetaLlama3_1_8bInstructFp8 InstanceReadResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceReadResponseRewriteModelCfMetaLlama4Scout17b16eInstruct InstanceReadResponseRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceReadResponseRewriteModelCfQwenQwen3_30bA3bFp8 InstanceReadResponseRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceReadResponseRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceReadResponseRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceReadResponseRewriteModelCfMoonshotaiKimiK2Instruct InstanceReadResponseRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceReadResponseRewriteModelCfGoogleGemma3_12bIt InstanceReadResponseRewriteModel = "@cf/google/gemma-3-12b-it"` - `const InstanceReadResponseRewriteModelCfGoogleGemma4_26bA4bIt InstanceReadResponseRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceReadResponseRewriteModelCfMoonshotaiKimiK2_5 InstanceReadResponseRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceReadResponseRewriteModelAnthropicClaude3_7Sonnet InstanceReadResponseRewriteModel = "anthropic/claude-3-7-sonnet"` - `const InstanceReadResponseRewriteModelAnthropicClaudeSonnet4 InstanceReadResponseRewriteModel = "anthropic/claude-sonnet-4"` - `const InstanceReadResponseRewriteModelAnthropicClaudeOpus4 InstanceReadResponseRewriteModel = "anthropic/claude-opus-4"` - `const InstanceReadResponseRewriteModelAnthropicClaude3_5Haiku InstanceReadResponseRewriteModel = "anthropic/claude-3-5-haiku"` - `const InstanceReadResponseRewriteModelCerebrasQwen3_235bA22bInstruct InstanceReadResponseRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceReadResponseRewriteModelCerebrasQwen3_235bA22bThinking InstanceReadResponseRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceReadResponseRewriteModelCerebrasLlama3_3_70b InstanceReadResponseRewriteModel = "cerebras/llama-3.3-70b"` - `const InstanceReadResponseRewriteModelCerebrasLlama4Maverick17b128eInstruct InstanceReadResponseRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceReadResponseRewriteModelCerebrasLlama4Scout17b16eInstruct InstanceReadResponseRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceReadResponseRewriteModelCerebrasGptOSs120b InstanceReadResponseRewriteModel = "cerebras/gpt-oss-120b"` - `const InstanceReadResponseRewriteModelGoogleAIStudioGemini2_5Flash InstanceReadResponseRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceReadResponseRewriteModelGoogleAIStudioGemini2_5Pro InstanceReadResponseRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceReadResponseRewriteModelGrokGrok4 InstanceReadResponseRewriteModel = "grok/grok-4"` - `const InstanceReadResponseRewriteModelGroqLlama3_3_70bVersatile InstanceReadResponseRewriteModel = "groq/llama-3.3-70b-versatile"` - `const InstanceReadResponseRewriteModelGroqLlama3_1_8bInstant InstanceReadResponseRewriteModel = "groq/llama-3.1-8b-instant"` - `const InstanceReadResponseRewriteModelOpenAIGpt5 InstanceReadResponseRewriteModel = "openai/gpt-5"` - `const InstanceReadResponseRewriteModelOpenAIGpt5Mini InstanceReadResponseRewriteModel = "openai/gpt-5-mini"` - `const InstanceReadResponseRewriteModelOpenAIGpt5Nano InstanceReadResponseRewriteModel = "openai/gpt-5-nano"` - `const InstanceReadResponseRewriteModelEmpty InstanceReadResponseRewriteModel = ""` - `RewriteQuery bool` - `ScoreThreshold float64` - `Source string` - `SourceParams InstanceReadResponseSourceParams` - `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 InstanceReadResponseSourceParamsWebCrawler` - `CrawlOptions InstanceReadResponseSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source InstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSource` - `const InstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSourceAll InstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const InstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSourceSitemaps InstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const InstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSourceLinks InstanceReadResponseSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions InstanceReadResponseSourceParamsWebCrawlerParseOptions` - `ContentSelector []InstanceReadResponseSourceParamsWebCrawlerParseOptionsContentSelector` 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 InstanceReadResponseSourceParamsWebCrawlerParseType` - `const InstanceReadResponseSourceParamsWebCrawlerParseTypeSitemap InstanceReadResponseSourceParamsWebCrawlerParseType = "sitemap"` - `const InstanceReadResponseSourceParamsWebCrawlerParseTypeFeedRss InstanceReadResponseSourceParamsWebCrawlerParseType = "feed-rss"` - `const InstanceReadResponseSourceParamsWebCrawlerParseTypeCrawl InstanceReadResponseSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions InstanceReadResponseSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Status string` - `SyncInterval InstanceReadResponseSyncInterval` 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 InstanceReadResponseSyncInterval900 InstanceReadResponseSyncInterval = 900` - `const InstanceReadResponseSyncInterval1800 InstanceReadResponseSyncInterval = 1800` - `const InstanceReadResponseSyncInterval3600 InstanceReadResponseSyncInterval = 3600` - `const InstanceReadResponseSyncInterval7200 InstanceReadResponseSyncInterval = 7200` - `const InstanceReadResponseSyncInterval14400 InstanceReadResponseSyncInterval = 14400` - `const InstanceReadResponseSyncInterval21600 InstanceReadResponseSyncInterval = 21600` - `const InstanceReadResponseSyncInterval43200 InstanceReadResponseSyncInterval = 43200` - `const InstanceReadResponseSyncInterval86400 InstanceReadResponseSyncInterval = 86400` - `TokenID string` - `Type InstanceReadResponseType` - `const InstanceReadResponseTypeR2 InstanceReadResponseType = "r2"` - `const InstanceReadResponseTypeWebCrawler InstanceReadResponseType = "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.Instances.Read( context.TODO(), "my-ai-search", ai_search.InstanceReadParams{ 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.Instances.Update(ctx, id, params) (*InstanceUpdateResponse, error)` **put** `/accounts/{account_id}/ai-search/instances/{id}` Update instance. ### Parameters - `id string` - `params InstanceUpdateParams` - `AccountID param.Field[string]` Path param - `AIGatewayID param.Field[string]` Body param - `AISearchModel param.Field[InstanceUpdateParamsAISearchModel]` Body param - `const InstanceUpdateParamsAISearchModelCfMetaLlama3_3_70bInstructFp8Fast InstanceUpdateParamsAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceUpdateParamsAISearchModelCfZaiOrgGlm4_7Flash InstanceUpdateParamsAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceUpdateParamsAISearchModelCfMetaLlama3_1_8bInstructFast InstanceUpdateParamsAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceUpdateParamsAISearchModelCfMetaLlama3_1_8bInstructFp8 InstanceUpdateParamsAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceUpdateParamsAISearchModelCfMetaLlama4Scout17b16eInstruct InstanceUpdateParamsAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceUpdateParamsAISearchModelCfQwenQwen3_30bA3bFp8 InstanceUpdateParamsAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceUpdateParamsAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceUpdateParamsAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceUpdateParamsAISearchModelCfMoonshotaiKimiK2Instruct InstanceUpdateParamsAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceUpdateParamsAISearchModelCfGoogleGemma3_12bIt InstanceUpdateParamsAISearchModel = "@cf/google/gemma-3-12b-it"` - `const InstanceUpdateParamsAISearchModelCfGoogleGemma4_26bA4bIt InstanceUpdateParamsAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceUpdateParamsAISearchModelCfMoonshotaiKimiK2_5 InstanceUpdateParamsAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceUpdateParamsAISearchModelAnthropicClaude3_7Sonnet InstanceUpdateParamsAISearchModel = "anthropic/claude-3-7-sonnet"` - `const InstanceUpdateParamsAISearchModelAnthropicClaudeSonnet4 InstanceUpdateParamsAISearchModel = "anthropic/claude-sonnet-4"` - `const InstanceUpdateParamsAISearchModelAnthropicClaudeOpus4 InstanceUpdateParamsAISearchModel = "anthropic/claude-opus-4"` - `const InstanceUpdateParamsAISearchModelAnthropicClaude3_5Haiku InstanceUpdateParamsAISearchModel = "anthropic/claude-3-5-haiku"` - `const InstanceUpdateParamsAISearchModelCerebrasQwen3_235bA22bInstruct InstanceUpdateParamsAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceUpdateParamsAISearchModelCerebrasQwen3_235bA22bThinking InstanceUpdateParamsAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceUpdateParamsAISearchModelCerebrasLlama3_3_70b InstanceUpdateParamsAISearchModel = "cerebras/llama-3.3-70b"` - `const InstanceUpdateParamsAISearchModelCerebrasLlama4Maverick17b128eInstruct InstanceUpdateParamsAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceUpdateParamsAISearchModelCerebrasLlama4Scout17b16eInstruct InstanceUpdateParamsAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceUpdateParamsAISearchModelCerebrasGptOSs120b InstanceUpdateParamsAISearchModel = "cerebras/gpt-oss-120b"` - `const InstanceUpdateParamsAISearchModelGoogleAIStudioGemini2_5Flash InstanceUpdateParamsAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceUpdateParamsAISearchModelGoogleAIStudioGemini2_5Pro InstanceUpdateParamsAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceUpdateParamsAISearchModelGrokGrok4 InstanceUpdateParamsAISearchModel = "grok/grok-4"` - `const InstanceUpdateParamsAISearchModelGroqLlama3_3_70bVersatile InstanceUpdateParamsAISearchModel = "groq/llama-3.3-70b-versatile"` - `const InstanceUpdateParamsAISearchModelGroqLlama3_1_8bInstant InstanceUpdateParamsAISearchModel = "groq/llama-3.1-8b-instant"` - `const InstanceUpdateParamsAISearchModelOpenAIGpt5 InstanceUpdateParamsAISearchModel = "openai/gpt-5"` - `const InstanceUpdateParamsAISearchModelOpenAIGpt5Mini InstanceUpdateParamsAISearchModel = "openai/gpt-5-mini"` - `const InstanceUpdateParamsAISearchModelOpenAIGpt5Nano InstanceUpdateParamsAISearchModel = "openai/gpt-5-nano"` - `const InstanceUpdateParamsAISearchModelEmpty InstanceUpdateParamsAISearchModel = ""` - `Cache param.Field[bool]` Body param - `CacheThreshold param.Field[InstanceUpdateParamsCacheThreshold]` Body param - `const InstanceUpdateParamsCacheThresholdSuperStrictMatch InstanceUpdateParamsCacheThreshold = "super_strict_match"` - `const InstanceUpdateParamsCacheThresholdCloseEnough InstanceUpdateParamsCacheThreshold = "close_enough"` - `const InstanceUpdateParamsCacheThresholdFlexibleFriend InstanceUpdateParamsCacheThreshold = "flexible_friend"` - `const InstanceUpdateParamsCacheThresholdAnythingGoes InstanceUpdateParamsCacheThreshold = "anything_goes"` - `CacheTTL param.Field[InstanceUpdateParamsCacheTTL]` 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 InstanceUpdateParamsCacheTTL600 InstanceUpdateParamsCacheTTL = 600` - `const InstanceUpdateParamsCacheTTL1800 InstanceUpdateParamsCacheTTL = 1800` - `const InstanceUpdateParamsCacheTTL3600 InstanceUpdateParamsCacheTTL = 3600` - `const InstanceUpdateParamsCacheTTL7200 InstanceUpdateParamsCacheTTL = 7200` - `const InstanceUpdateParamsCacheTTL21600 InstanceUpdateParamsCacheTTL = 21600` - `const InstanceUpdateParamsCacheTTL43200 InstanceUpdateParamsCacheTTL = 43200` - `const InstanceUpdateParamsCacheTTL86400 InstanceUpdateParamsCacheTTL = 86400` - `const InstanceUpdateParamsCacheTTL172800 InstanceUpdateParamsCacheTTL = 172800` - `const InstanceUpdateParamsCacheTTL259200 InstanceUpdateParamsCacheTTL = 259200` - `const InstanceUpdateParamsCacheTTL518400 InstanceUpdateParamsCacheTTL = 518400` - `Chunk param.Field[bool]` Body param - `ChunkOverlap param.Field[int64]` Body param - `ChunkSize param.Field[int64]` Body param - `CustomMetadata param.Field[[]InstanceUpdateParamsCustomMetadata]` Body param - `DataType InstanceUpdateParamsCustomMetadataDataType` - `const InstanceUpdateParamsCustomMetadataDataTypeText InstanceUpdateParamsCustomMetadataDataType = "text"` - `const InstanceUpdateParamsCustomMetadataDataTypeNumber InstanceUpdateParamsCustomMetadataDataType = "number"` - `const InstanceUpdateParamsCustomMetadataDataTypeBoolean InstanceUpdateParamsCustomMetadataDataType = "boolean"` - `const InstanceUpdateParamsCustomMetadataDataTypeDatetime InstanceUpdateParamsCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel param.Field[InstanceUpdateParamsEmbeddingModel]` Body param - `const InstanceUpdateParamsEmbeddingModelCfQwenQwen3Embedding0_6b InstanceUpdateParamsEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const InstanceUpdateParamsEmbeddingModelCfBaaiBgeM3 InstanceUpdateParamsEmbeddingModel = "@cf/baai/bge-m3"` - `const InstanceUpdateParamsEmbeddingModelCfBaaiBgeLargeEnV1_5 InstanceUpdateParamsEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const InstanceUpdateParamsEmbeddingModelCfGoogleEmbeddinggemma300m InstanceUpdateParamsEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const InstanceUpdateParamsEmbeddingModelGoogleAIStudioGeminiEmbedding001 InstanceUpdateParamsEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const InstanceUpdateParamsEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview InstanceUpdateParamsEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const InstanceUpdateParamsEmbeddingModelOpenAITextEmbedding3Small InstanceUpdateParamsEmbeddingModel = "openai/text-embedding-3-small"` - `const InstanceUpdateParamsEmbeddingModelOpenAITextEmbedding3Large InstanceUpdateParamsEmbeddingModel = "openai/text-embedding-3-large"` - `const InstanceUpdateParamsEmbeddingModelEmpty InstanceUpdateParamsEmbeddingModel = ""` - `FusionMethod param.Field[InstanceUpdateParamsFusionMethod]` Body param - `const InstanceUpdateParamsFusionMethodMax InstanceUpdateParamsFusionMethod = "max"` - `const InstanceUpdateParamsFusionMethodRrf InstanceUpdateParamsFusionMethod = "rrf"` - `IndexMethod param.Field[InstanceUpdateParamsIndexMethod]` 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[InstanceUpdateParamsIndexingOptions]` Body param - `KeywordTokenizer InstanceUpdateParamsIndexingOptionsKeywordTokenizer` 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 InstanceUpdateParamsIndexingOptionsKeywordTokenizerPorter InstanceUpdateParamsIndexingOptionsKeywordTokenizer = "porter"` - `const InstanceUpdateParamsIndexingOptionsKeywordTokenizerTrigram InstanceUpdateParamsIndexingOptionsKeywordTokenizer = "trigram"` - `MaxNumResults param.Field[int64]` Body param - `Metadata param.Field[InstanceUpdateParamsMetadata]` Body param - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `Paused param.Field[bool]` Body param - `PublicEndpointParams param.Field[InstanceUpdateParamsPublicEndpointParams]` Body param - `AuthorizedHosts []string` - `ChatCompletionsEndpoint InstanceUpdateParamsPublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp InstanceUpdateParamsPublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit InstanceUpdateParamsPublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique InstanceUpdateParamsPublicEndpointParamsRateLimitTechnique` - `const InstanceUpdateParamsPublicEndpointParamsRateLimitTechniqueFixed InstanceUpdateParamsPublicEndpointParamsRateLimitTechnique = "fixed"` - `const InstanceUpdateParamsPublicEndpointParamsRateLimitTechniqueSliding InstanceUpdateParamsPublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint InstanceUpdateParamsPublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking param.Field[bool]` Body param - `RerankingModel param.Field[InstanceUpdateParamsRerankingModel]` Body param - `const InstanceUpdateParamsRerankingModelCfBaaiBgeRerankerBase InstanceUpdateParamsRerankingModel = "@cf/baai/bge-reranker-base"` - `const InstanceUpdateParamsRerankingModelEmpty InstanceUpdateParamsRerankingModel = ""` - `RetrievalOptions param.Field[InstanceUpdateParamsRetrievalOptions]` Body param - `BoostBy []InstanceUpdateParamsRetrievalOptionsBoostBy` 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 InstanceUpdateParamsRetrievalOptionsBoostByDirection` 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 InstanceUpdateParamsRetrievalOptionsBoostByDirectionAsc InstanceUpdateParamsRetrievalOptionsBoostByDirection = "asc"` - `const InstanceUpdateParamsRetrievalOptionsBoostByDirectionDesc InstanceUpdateParamsRetrievalOptionsBoostByDirection = "desc"` - `const InstanceUpdateParamsRetrievalOptionsBoostByDirectionExists InstanceUpdateParamsRetrievalOptionsBoostByDirection = "exists"` - `const InstanceUpdateParamsRetrievalOptionsBoostByDirectionNotExists InstanceUpdateParamsRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode InstanceUpdateParamsRetrievalOptionsKeywordMatchMode` 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 InstanceUpdateParamsRetrievalOptionsKeywordMatchModeAnd InstanceUpdateParamsRetrievalOptionsKeywordMatchMode = "and"` - `const InstanceUpdateParamsRetrievalOptionsKeywordMatchModeOr InstanceUpdateParamsRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel param.Field[InstanceUpdateParamsRewriteModel]` Body param - `const InstanceUpdateParamsRewriteModelCfMetaLlama3_3_70bInstructFp8Fast InstanceUpdateParamsRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceUpdateParamsRewriteModelCfZaiOrgGlm4_7Flash InstanceUpdateParamsRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceUpdateParamsRewriteModelCfMetaLlama3_1_8bInstructFast InstanceUpdateParamsRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceUpdateParamsRewriteModelCfMetaLlama3_1_8bInstructFp8 InstanceUpdateParamsRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceUpdateParamsRewriteModelCfMetaLlama4Scout17b16eInstruct InstanceUpdateParamsRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceUpdateParamsRewriteModelCfQwenQwen3_30bA3bFp8 InstanceUpdateParamsRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceUpdateParamsRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceUpdateParamsRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceUpdateParamsRewriteModelCfMoonshotaiKimiK2Instruct InstanceUpdateParamsRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceUpdateParamsRewriteModelCfGoogleGemma3_12bIt InstanceUpdateParamsRewriteModel = "@cf/google/gemma-3-12b-it"` - `const InstanceUpdateParamsRewriteModelCfGoogleGemma4_26bA4bIt InstanceUpdateParamsRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceUpdateParamsRewriteModelCfMoonshotaiKimiK2_5 InstanceUpdateParamsRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceUpdateParamsRewriteModelAnthropicClaude3_7Sonnet InstanceUpdateParamsRewriteModel = "anthropic/claude-3-7-sonnet"` - `const InstanceUpdateParamsRewriteModelAnthropicClaudeSonnet4 InstanceUpdateParamsRewriteModel = "anthropic/claude-sonnet-4"` - `const InstanceUpdateParamsRewriteModelAnthropicClaudeOpus4 InstanceUpdateParamsRewriteModel = "anthropic/claude-opus-4"` - `const InstanceUpdateParamsRewriteModelAnthropicClaude3_5Haiku InstanceUpdateParamsRewriteModel = "anthropic/claude-3-5-haiku"` - `const InstanceUpdateParamsRewriteModelCerebrasQwen3_235bA22bInstruct InstanceUpdateParamsRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceUpdateParamsRewriteModelCerebrasQwen3_235bA22bThinking InstanceUpdateParamsRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceUpdateParamsRewriteModelCerebrasLlama3_3_70b InstanceUpdateParamsRewriteModel = "cerebras/llama-3.3-70b"` - `const InstanceUpdateParamsRewriteModelCerebrasLlama4Maverick17b128eInstruct InstanceUpdateParamsRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceUpdateParamsRewriteModelCerebrasLlama4Scout17b16eInstruct InstanceUpdateParamsRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceUpdateParamsRewriteModelCerebrasGptOSs120b InstanceUpdateParamsRewriteModel = "cerebras/gpt-oss-120b"` - `const InstanceUpdateParamsRewriteModelGoogleAIStudioGemini2_5Flash InstanceUpdateParamsRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceUpdateParamsRewriteModelGoogleAIStudioGemini2_5Pro InstanceUpdateParamsRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceUpdateParamsRewriteModelGrokGrok4 InstanceUpdateParamsRewriteModel = "grok/grok-4"` - `const InstanceUpdateParamsRewriteModelGroqLlama3_3_70bVersatile InstanceUpdateParamsRewriteModel = "groq/llama-3.3-70b-versatile"` - `const InstanceUpdateParamsRewriteModelGroqLlama3_1_8bInstant InstanceUpdateParamsRewriteModel = "groq/llama-3.1-8b-instant"` - `const InstanceUpdateParamsRewriteModelOpenAIGpt5 InstanceUpdateParamsRewriteModel = "openai/gpt-5"` - `const InstanceUpdateParamsRewriteModelOpenAIGpt5Mini InstanceUpdateParamsRewriteModel = "openai/gpt-5-mini"` - `const InstanceUpdateParamsRewriteModelOpenAIGpt5Nano InstanceUpdateParamsRewriteModel = "openai/gpt-5-nano"` - `const InstanceUpdateParamsRewriteModelEmpty InstanceUpdateParamsRewriteModel = ""` - `RewriteQuery param.Field[bool]` Body param - `ScoreThreshold param.Field[float64]` Body param - `SourceParams param.Field[InstanceUpdateParamsSourceParams]` 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 InstanceUpdateParamsSourceParamsWebCrawler` - `CrawlOptions InstanceUpdateParamsSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source InstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSource` - `const InstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSourceAll InstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const InstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSourceSitemaps InstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const InstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSourceLinks InstanceUpdateParamsSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions InstanceUpdateParamsSourceParamsWebCrawlerParseOptions` - `ContentSelector []InstanceUpdateParamsSourceParamsWebCrawlerParseOptionsContentSelector` 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 InstanceUpdateParamsSourceParamsWebCrawlerParseType` - `const InstanceUpdateParamsSourceParamsWebCrawlerParseTypeSitemap InstanceUpdateParamsSourceParamsWebCrawlerParseType = "sitemap"` - `const InstanceUpdateParamsSourceParamsWebCrawlerParseTypeFeedRss InstanceUpdateParamsSourceParamsWebCrawlerParseType = "feed-rss"` - `const InstanceUpdateParamsSourceParamsWebCrawlerParseTypeCrawl InstanceUpdateParamsSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions InstanceUpdateParamsSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Summarization param.Field[bool]` Body param - `SummarizationModel param.Field[InstanceUpdateParamsSummarizationModel]` Body param - `const InstanceUpdateParamsSummarizationModelCfMetaLlama3_3_70bInstructFp8Fast InstanceUpdateParamsSummarizationModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceUpdateParamsSummarizationModelCfZaiOrgGlm4_7Flash InstanceUpdateParamsSummarizationModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceUpdateParamsSummarizationModelCfMetaLlama3_1_8bInstructFast InstanceUpdateParamsSummarizationModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceUpdateParamsSummarizationModelCfMetaLlama3_1_8bInstructFp8 InstanceUpdateParamsSummarizationModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceUpdateParamsSummarizationModelCfMetaLlama4Scout17b16eInstruct InstanceUpdateParamsSummarizationModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceUpdateParamsSummarizationModelCfQwenQwen3_30bA3bFp8 InstanceUpdateParamsSummarizationModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceUpdateParamsSummarizationModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceUpdateParamsSummarizationModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceUpdateParamsSummarizationModelCfMoonshotaiKimiK2Instruct InstanceUpdateParamsSummarizationModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceUpdateParamsSummarizationModelCfGoogleGemma3_12bIt InstanceUpdateParamsSummarizationModel = "@cf/google/gemma-3-12b-it"` - `const InstanceUpdateParamsSummarizationModelCfGoogleGemma4_26bA4bIt InstanceUpdateParamsSummarizationModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceUpdateParamsSummarizationModelCfMoonshotaiKimiK2_5 InstanceUpdateParamsSummarizationModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceUpdateParamsSummarizationModelAnthropicClaude3_7Sonnet InstanceUpdateParamsSummarizationModel = "anthropic/claude-3-7-sonnet"` - `const InstanceUpdateParamsSummarizationModelAnthropicClaudeSonnet4 InstanceUpdateParamsSummarizationModel = "anthropic/claude-sonnet-4"` - `const InstanceUpdateParamsSummarizationModelAnthropicClaudeOpus4 InstanceUpdateParamsSummarizationModel = "anthropic/claude-opus-4"` - `const InstanceUpdateParamsSummarizationModelAnthropicClaude3_5Haiku InstanceUpdateParamsSummarizationModel = "anthropic/claude-3-5-haiku"` - `const InstanceUpdateParamsSummarizationModelCerebrasQwen3_235bA22bInstruct InstanceUpdateParamsSummarizationModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceUpdateParamsSummarizationModelCerebrasQwen3_235bA22bThinking InstanceUpdateParamsSummarizationModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceUpdateParamsSummarizationModelCerebrasLlama3_3_70b InstanceUpdateParamsSummarizationModel = "cerebras/llama-3.3-70b"` - `const InstanceUpdateParamsSummarizationModelCerebrasLlama4Maverick17b128eInstruct InstanceUpdateParamsSummarizationModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceUpdateParamsSummarizationModelCerebrasLlama4Scout17b16eInstruct InstanceUpdateParamsSummarizationModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceUpdateParamsSummarizationModelCerebrasGptOSs120b InstanceUpdateParamsSummarizationModel = "cerebras/gpt-oss-120b"` - `const InstanceUpdateParamsSummarizationModelGoogleAIStudioGemini2_5Flash InstanceUpdateParamsSummarizationModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceUpdateParamsSummarizationModelGoogleAIStudioGemini2_5Pro InstanceUpdateParamsSummarizationModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceUpdateParamsSummarizationModelGrokGrok4 InstanceUpdateParamsSummarizationModel = "grok/grok-4"` - `const InstanceUpdateParamsSummarizationModelGroqLlama3_3_70bVersatile InstanceUpdateParamsSummarizationModel = "groq/llama-3.3-70b-versatile"` - `const InstanceUpdateParamsSummarizationModelGroqLlama3_1_8bInstant InstanceUpdateParamsSummarizationModel = "groq/llama-3.1-8b-instant"` - `const InstanceUpdateParamsSummarizationModelOpenAIGpt5 InstanceUpdateParamsSummarizationModel = "openai/gpt-5"` - `const InstanceUpdateParamsSummarizationModelOpenAIGpt5Mini InstanceUpdateParamsSummarizationModel = "openai/gpt-5-mini"` - `const InstanceUpdateParamsSummarizationModelOpenAIGpt5Nano InstanceUpdateParamsSummarizationModel = "openai/gpt-5-nano"` - `const InstanceUpdateParamsSummarizationModelEmpty InstanceUpdateParamsSummarizationModel = ""` - `SyncInterval param.Field[InstanceUpdateParamsSyncInterval]` 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 InstanceUpdateParamsSyncInterval900 InstanceUpdateParamsSyncInterval = 900` - `const InstanceUpdateParamsSyncInterval1800 InstanceUpdateParamsSyncInterval = 1800` - `const InstanceUpdateParamsSyncInterval3600 InstanceUpdateParamsSyncInterval = 3600` - `const InstanceUpdateParamsSyncInterval7200 InstanceUpdateParamsSyncInterval = 7200` - `const InstanceUpdateParamsSyncInterval14400 InstanceUpdateParamsSyncInterval = 14400` - `const InstanceUpdateParamsSyncInterval21600 InstanceUpdateParamsSyncInterval = 21600` - `const InstanceUpdateParamsSyncInterval43200 InstanceUpdateParamsSyncInterval = 43200` - `const InstanceUpdateParamsSyncInterval86400 InstanceUpdateParamsSyncInterval = 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 InstanceUpdateResponse struct{…}` - `ID string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `CreatedAt Time` - `ModifiedAt Time` - `AIGatewayID string` - `AISearchModel InstanceUpdateResponseAISearchModel` - `const InstanceUpdateResponseAISearchModelCfMetaLlama3_3_70bInstructFp8Fast InstanceUpdateResponseAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceUpdateResponseAISearchModelCfZaiOrgGlm4_7Flash InstanceUpdateResponseAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceUpdateResponseAISearchModelCfMetaLlama3_1_8bInstructFast InstanceUpdateResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceUpdateResponseAISearchModelCfMetaLlama3_1_8bInstructFp8 InstanceUpdateResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceUpdateResponseAISearchModelCfMetaLlama4Scout17b16eInstruct InstanceUpdateResponseAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceUpdateResponseAISearchModelCfQwenQwen3_30bA3bFp8 InstanceUpdateResponseAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceUpdateResponseAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceUpdateResponseAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceUpdateResponseAISearchModelCfMoonshotaiKimiK2Instruct InstanceUpdateResponseAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceUpdateResponseAISearchModelCfGoogleGemma3_12bIt InstanceUpdateResponseAISearchModel = "@cf/google/gemma-3-12b-it"` - `const InstanceUpdateResponseAISearchModelCfGoogleGemma4_26bA4bIt InstanceUpdateResponseAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceUpdateResponseAISearchModelCfMoonshotaiKimiK2_5 InstanceUpdateResponseAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceUpdateResponseAISearchModelAnthropicClaude3_7Sonnet InstanceUpdateResponseAISearchModel = "anthropic/claude-3-7-sonnet"` - `const InstanceUpdateResponseAISearchModelAnthropicClaudeSonnet4 InstanceUpdateResponseAISearchModel = "anthropic/claude-sonnet-4"` - `const InstanceUpdateResponseAISearchModelAnthropicClaudeOpus4 InstanceUpdateResponseAISearchModel = "anthropic/claude-opus-4"` - `const InstanceUpdateResponseAISearchModelAnthropicClaude3_5Haiku InstanceUpdateResponseAISearchModel = "anthropic/claude-3-5-haiku"` - `const InstanceUpdateResponseAISearchModelCerebrasQwen3_235bA22bInstruct InstanceUpdateResponseAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceUpdateResponseAISearchModelCerebrasQwen3_235bA22bThinking InstanceUpdateResponseAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceUpdateResponseAISearchModelCerebrasLlama3_3_70b InstanceUpdateResponseAISearchModel = "cerebras/llama-3.3-70b"` - `const InstanceUpdateResponseAISearchModelCerebrasLlama4Maverick17b128eInstruct InstanceUpdateResponseAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceUpdateResponseAISearchModelCerebrasLlama4Scout17b16eInstruct InstanceUpdateResponseAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceUpdateResponseAISearchModelCerebrasGptOSs120b InstanceUpdateResponseAISearchModel = "cerebras/gpt-oss-120b"` - `const InstanceUpdateResponseAISearchModelGoogleAIStudioGemini2_5Flash InstanceUpdateResponseAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceUpdateResponseAISearchModelGoogleAIStudioGemini2_5Pro InstanceUpdateResponseAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceUpdateResponseAISearchModelGrokGrok4 InstanceUpdateResponseAISearchModel = "grok/grok-4"` - `const InstanceUpdateResponseAISearchModelGroqLlama3_3_70bVersatile InstanceUpdateResponseAISearchModel = "groq/llama-3.3-70b-versatile"` - `const InstanceUpdateResponseAISearchModelGroqLlama3_1_8bInstant InstanceUpdateResponseAISearchModel = "groq/llama-3.1-8b-instant"` - `const InstanceUpdateResponseAISearchModelOpenAIGpt5 InstanceUpdateResponseAISearchModel = "openai/gpt-5"` - `const InstanceUpdateResponseAISearchModelOpenAIGpt5Mini InstanceUpdateResponseAISearchModel = "openai/gpt-5-mini"` - `const InstanceUpdateResponseAISearchModelOpenAIGpt5Nano InstanceUpdateResponseAISearchModel = "openai/gpt-5-nano"` - `const InstanceUpdateResponseAISearchModelEmpty InstanceUpdateResponseAISearchModel = ""` - `Cache bool` - `CacheThreshold InstanceUpdateResponseCacheThreshold` - `const InstanceUpdateResponseCacheThresholdSuperStrictMatch InstanceUpdateResponseCacheThreshold = "super_strict_match"` - `const InstanceUpdateResponseCacheThresholdCloseEnough InstanceUpdateResponseCacheThreshold = "close_enough"` - `const InstanceUpdateResponseCacheThresholdFlexibleFriend InstanceUpdateResponseCacheThreshold = "flexible_friend"` - `const InstanceUpdateResponseCacheThresholdAnythingGoes InstanceUpdateResponseCacheThreshold = "anything_goes"` - `CacheTTL InstanceUpdateResponseCacheTTL` 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 InstanceUpdateResponseCacheTTL600 InstanceUpdateResponseCacheTTL = 600` - `const InstanceUpdateResponseCacheTTL1800 InstanceUpdateResponseCacheTTL = 1800` - `const InstanceUpdateResponseCacheTTL3600 InstanceUpdateResponseCacheTTL = 3600` - `const InstanceUpdateResponseCacheTTL7200 InstanceUpdateResponseCacheTTL = 7200` - `const InstanceUpdateResponseCacheTTL21600 InstanceUpdateResponseCacheTTL = 21600` - `const InstanceUpdateResponseCacheTTL43200 InstanceUpdateResponseCacheTTL = 43200` - `const InstanceUpdateResponseCacheTTL86400 InstanceUpdateResponseCacheTTL = 86400` - `const InstanceUpdateResponseCacheTTL172800 InstanceUpdateResponseCacheTTL = 172800` - `const InstanceUpdateResponseCacheTTL259200 InstanceUpdateResponseCacheTTL = 259200` - `const InstanceUpdateResponseCacheTTL518400 InstanceUpdateResponseCacheTTL = 518400` - `ChunkOverlap int64` - `ChunkSize int64` - `CreatedBy string` - `CustomMetadata []InstanceUpdateResponseCustomMetadata` - `DataType InstanceUpdateResponseCustomMetadataDataType` - `const InstanceUpdateResponseCustomMetadataDataTypeText InstanceUpdateResponseCustomMetadataDataType = "text"` - `const InstanceUpdateResponseCustomMetadataDataTypeNumber InstanceUpdateResponseCustomMetadataDataType = "number"` - `const InstanceUpdateResponseCustomMetadataDataTypeBoolean InstanceUpdateResponseCustomMetadataDataType = "boolean"` - `const InstanceUpdateResponseCustomMetadataDataTypeDatetime InstanceUpdateResponseCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel InstanceUpdateResponseEmbeddingModel` - `const InstanceUpdateResponseEmbeddingModelCfQwenQwen3Embedding0_6b InstanceUpdateResponseEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const InstanceUpdateResponseEmbeddingModelCfBaaiBgeM3 InstanceUpdateResponseEmbeddingModel = "@cf/baai/bge-m3"` - `const InstanceUpdateResponseEmbeddingModelCfBaaiBgeLargeEnV1_5 InstanceUpdateResponseEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const InstanceUpdateResponseEmbeddingModelCfGoogleEmbeddinggemma300m InstanceUpdateResponseEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const InstanceUpdateResponseEmbeddingModelGoogleAIStudioGeminiEmbedding001 InstanceUpdateResponseEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const InstanceUpdateResponseEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview InstanceUpdateResponseEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const InstanceUpdateResponseEmbeddingModelOpenAITextEmbedding3Small InstanceUpdateResponseEmbeddingModel = "openai/text-embedding-3-small"` - `const InstanceUpdateResponseEmbeddingModelOpenAITextEmbedding3Large InstanceUpdateResponseEmbeddingModel = "openai/text-embedding-3-large"` - `const InstanceUpdateResponseEmbeddingModelEmpty InstanceUpdateResponseEmbeddingModel = ""` - `Enable bool` - `EngineVersion float64` - `FusionMethod InstanceUpdateResponseFusionMethod` - `const InstanceUpdateResponseFusionMethodMax InstanceUpdateResponseFusionMethod = "max"` - `const InstanceUpdateResponseFusionMethodRrf InstanceUpdateResponseFusionMethod = "rrf"` - `HybridSearchEnabled bool` Deprecated — use index_method instead. - `IndexMethod InstanceUpdateResponseIndexMethod` 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 InstanceUpdateResponseIndexingOptions` - `KeywordTokenizer InstanceUpdateResponseIndexingOptionsKeywordTokenizer` 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 InstanceUpdateResponseIndexingOptionsKeywordTokenizerPorter InstanceUpdateResponseIndexingOptionsKeywordTokenizer = "porter"` - `const InstanceUpdateResponseIndexingOptionsKeywordTokenizerTrigram InstanceUpdateResponseIndexingOptionsKeywordTokenizer = "trigram"` - `LastActivity Time` - `MaxNumResults int64` - `Metadata InstanceUpdateResponseMetadata` - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `ModifiedBy string` - `Namespace string` - `Paused bool` - `PublicEndpointID string` - `PublicEndpointParams InstanceUpdateResponsePublicEndpointParams` - `AuthorizedHosts []string` - `ChatCompletionsEndpoint InstanceUpdateResponsePublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp InstanceUpdateResponsePublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit InstanceUpdateResponsePublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique InstanceUpdateResponsePublicEndpointParamsRateLimitTechnique` - `const InstanceUpdateResponsePublicEndpointParamsRateLimitTechniqueFixed InstanceUpdateResponsePublicEndpointParamsRateLimitTechnique = "fixed"` - `const InstanceUpdateResponsePublicEndpointParamsRateLimitTechniqueSliding InstanceUpdateResponsePublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint InstanceUpdateResponsePublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking bool` - `RerankingModel InstanceUpdateResponseRerankingModel` - `const InstanceUpdateResponseRerankingModelCfBaaiBgeRerankerBase InstanceUpdateResponseRerankingModel = "@cf/baai/bge-reranker-base"` - `const InstanceUpdateResponseRerankingModelEmpty InstanceUpdateResponseRerankingModel = ""` - `RetrievalOptions InstanceUpdateResponseRetrievalOptions` - `BoostBy []InstanceUpdateResponseRetrievalOptionsBoostBy` 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 InstanceUpdateResponseRetrievalOptionsBoostByDirection` 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 InstanceUpdateResponseRetrievalOptionsBoostByDirectionAsc InstanceUpdateResponseRetrievalOptionsBoostByDirection = "asc"` - `const InstanceUpdateResponseRetrievalOptionsBoostByDirectionDesc InstanceUpdateResponseRetrievalOptionsBoostByDirection = "desc"` - `const InstanceUpdateResponseRetrievalOptionsBoostByDirectionExists InstanceUpdateResponseRetrievalOptionsBoostByDirection = "exists"` - `const InstanceUpdateResponseRetrievalOptionsBoostByDirectionNotExists InstanceUpdateResponseRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode InstanceUpdateResponseRetrievalOptionsKeywordMatchMode` 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 InstanceUpdateResponseRetrievalOptionsKeywordMatchModeAnd InstanceUpdateResponseRetrievalOptionsKeywordMatchMode = "and"` - `const InstanceUpdateResponseRetrievalOptionsKeywordMatchModeOr InstanceUpdateResponseRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel InstanceUpdateResponseRewriteModel` - `const InstanceUpdateResponseRewriteModelCfMetaLlama3_3_70bInstructFp8Fast InstanceUpdateResponseRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceUpdateResponseRewriteModelCfZaiOrgGlm4_7Flash InstanceUpdateResponseRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceUpdateResponseRewriteModelCfMetaLlama3_1_8bInstructFast InstanceUpdateResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceUpdateResponseRewriteModelCfMetaLlama3_1_8bInstructFp8 InstanceUpdateResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceUpdateResponseRewriteModelCfMetaLlama4Scout17b16eInstruct InstanceUpdateResponseRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceUpdateResponseRewriteModelCfQwenQwen3_30bA3bFp8 InstanceUpdateResponseRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceUpdateResponseRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceUpdateResponseRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceUpdateResponseRewriteModelCfMoonshotaiKimiK2Instruct InstanceUpdateResponseRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceUpdateResponseRewriteModelCfGoogleGemma3_12bIt InstanceUpdateResponseRewriteModel = "@cf/google/gemma-3-12b-it"` - `const InstanceUpdateResponseRewriteModelCfGoogleGemma4_26bA4bIt InstanceUpdateResponseRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceUpdateResponseRewriteModelCfMoonshotaiKimiK2_5 InstanceUpdateResponseRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceUpdateResponseRewriteModelAnthropicClaude3_7Sonnet InstanceUpdateResponseRewriteModel = "anthropic/claude-3-7-sonnet"` - `const InstanceUpdateResponseRewriteModelAnthropicClaudeSonnet4 InstanceUpdateResponseRewriteModel = "anthropic/claude-sonnet-4"` - `const InstanceUpdateResponseRewriteModelAnthropicClaudeOpus4 InstanceUpdateResponseRewriteModel = "anthropic/claude-opus-4"` - `const InstanceUpdateResponseRewriteModelAnthropicClaude3_5Haiku InstanceUpdateResponseRewriteModel = "anthropic/claude-3-5-haiku"` - `const InstanceUpdateResponseRewriteModelCerebrasQwen3_235bA22bInstruct InstanceUpdateResponseRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceUpdateResponseRewriteModelCerebrasQwen3_235bA22bThinking InstanceUpdateResponseRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceUpdateResponseRewriteModelCerebrasLlama3_3_70b InstanceUpdateResponseRewriteModel = "cerebras/llama-3.3-70b"` - `const InstanceUpdateResponseRewriteModelCerebrasLlama4Maverick17b128eInstruct InstanceUpdateResponseRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceUpdateResponseRewriteModelCerebrasLlama4Scout17b16eInstruct InstanceUpdateResponseRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceUpdateResponseRewriteModelCerebrasGptOSs120b InstanceUpdateResponseRewriteModel = "cerebras/gpt-oss-120b"` - `const InstanceUpdateResponseRewriteModelGoogleAIStudioGemini2_5Flash InstanceUpdateResponseRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceUpdateResponseRewriteModelGoogleAIStudioGemini2_5Pro InstanceUpdateResponseRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceUpdateResponseRewriteModelGrokGrok4 InstanceUpdateResponseRewriteModel = "grok/grok-4"` - `const InstanceUpdateResponseRewriteModelGroqLlama3_3_70bVersatile InstanceUpdateResponseRewriteModel = "groq/llama-3.3-70b-versatile"` - `const InstanceUpdateResponseRewriteModelGroqLlama3_1_8bInstant InstanceUpdateResponseRewriteModel = "groq/llama-3.1-8b-instant"` - `const InstanceUpdateResponseRewriteModelOpenAIGpt5 InstanceUpdateResponseRewriteModel = "openai/gpt-5"` - `const InstanceUpdateResponseRewriteModelOpenAIGpt5Mini InstanceUpdateResponseRewriteModel = "openai/gpt-5-mini"` - `const InstanceUpdateResponseRewriteModelOpenAIGpt5Nano InstanceUpdateResponseRewriteModel = "openai/gpt-5-nano"` - `const InstanceUpdateResponseRewriteModelEmpty InstanceUpdateResponseRewriteModel = ""` - `RewriteQuery bool` - `ScoreThreshold float64` - `Source string` - `SourceParams InstanceUpdateResponseSourceParams` - `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 InstanceUpdateResponseSourceParamsWebCrawler` - `CrawlOptions InstanceUpdateResponseSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source InstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSource` - `const InstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSourceAll InstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const InstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSourceSitemaps InstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const InstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSourceLinks InstanceUpdateResponseSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions InstanceUpdateResponseSourceParamsWebCrawlerParseOptions` - `ContentSelector []InstanceUpdateResponseSourceParamsWebCrawlerParseOptionsContentSelector` 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 InstanceUpdateResponseSourceParamsWebCrawlerParseType` - `const InstanceUpdateResponseSourceParamsWebCrawlerParseTypeSitemap InstanceUpdateResponseSourceParamsWebCrawlerParseType = "sitemap"` - `const InstanceUpdateResponseSourceParamsWebCrawlerParseTypeFeedRss InstanceUpdateResponseSourceParamsWebCrawlerParseType = "feed-rss"` - `const InstanceUpdateResponseSourceParamsWebCrawlerParseTypeCrawl InstanceUpdateResponseSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions InstanceUpdateResponseSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Status string` - `SyncInterval InstanceUpdateResponseSyncInterval` 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 InstanceUpdateResponseSyncInterval900 InstanceUpdateResponseSyncInterval = 900` - `const InstanceUpdateResponseSyncInterval1800 InstanceUpdateResponseSyncInterval = 1800` - `const InstanceUpdateResponseSyncInterval3600 InstanceUpdateResponseSyncInterval = 3600` - `const InstanceUpdateResponseSyncInterval7200 InstanceUpdateResponseSyncInterval = 7200` - `const InstanceUpdateResponseSyncInterval14400 InstanceUpdateResponseSyncInterval = 14400` - `const InstanceUpdateResponseSyncInterval21600 InstanceUpdateResponseSyncInterval = 21600` - `const InstanceUpdateResponseSyncInterval43200 InstanceUpdateResponseSyncInterval = 43200` - `const InstanceUpdateResponseSyncInterval86400 InstanceUpdateResponseSyncInterval = 86400` - `TokenID string` - `Type InstanceUpdateResponseType` - `const InstanceUpdateResponseTypeR2 InstanceUpdateResponseType = "r2"` - `const InstanceUpdateResponseTypeWebCrawler InstanceUpdateResponseType = "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.Instances.Update( context.TODO(), "my-ai-search", ai_search.InstanceUpdateParams{ 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.Instances.Delete(ctx, id, body) (*InstanceDeleteResponse, error)` **delete** `/accounts/{account_id}/ai-search/instances/{id}` Delete instance. ### Parameters - `id string` - `body InstanceDeleteParams` - `AccountID param.Field[string]` ### Returns - `type InstanceDeleteResponse struct{…}` - `ID string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `CreatedAt Time` - `ModifiedAt Time` - `AIGatewayID string` - `AISearchModel InstanceDeleteResponseAISearchModel` - `const InstanceDeleteResponseAISearchModelCfMetaLlama3_3_70bInstructFp8Fast InstanceDeleteResponseAISearchModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceDeleteResponseAISearchModelCfZaiOrgGlm4_7Flash InstanceDeleteResponseAISearchModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceDeleteResponseAISearchModelCfMetaLlama3_1_8bInstructFast InstanceDeleteResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceDeleteResponseAISearchModelCfMetaLlama3_1_8bInstructFp8 InstanceDeleteResponseAISearchModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceDeleteResponseAISearchModelCfMetaLlama4Scout17b16eInstruct InstanceDeleteResponseAISearchModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceDeleteResponseAISearchModelCfQwenQwen3_30bA3bFp8 InstanceDeleteResponseAISearchModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceDeleteResponseAISearchModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceDeleteResponseAISearchModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceDeleteResponseAISearchModelCfMoonshotaiKimiK2Instruct InstanceDeleteResponseAISearchModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceDeleteResponseAISearchModelCfGoogleGemma3_12bIt InstanceDeleteResponseAISearchModel = "@cf/google/gemma-3-12b-it"` - `const InstanceDeleteResponseAISearchModelCfGoogleGemma4_26bA4bIt InstanceDeleteResponseAISearchModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceDeleteResponseAISearchModelCfMoonshotaiKimiK2_5 InstanceDeleteResponseAISearchModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceDeleteResponseAISearchModelAnthropicClaude3_7Sonnet InstanceDeleteResponseAISearchModel = "anthropic/claude-3-7-sonnet"` - `const InstanceDeleteResponseAISearchModelAnthropicClaudeSonnet4 InstanceDeleteResponseAISearchModel = "anthropic/claude-sonnet-4"` - `const InstanceDeleteResponseAISearchModelAnthropicClaudeOpus4 InstanceDeleteResponseAISearchModel = "anthropic/claude-opus-4"` - `const InstanceDeleteResponseAISearchModelAnthropicClaude3_5Haiku InstanceDeleteResponseAISearchModel = "anthropic/claude-3-5-haiku"` - `const InstanceDeleteResponseAISearchModelCerebrasQwen3_235bA22bInstruct InstanceDeleteResponseAISearchModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceDeleteResponseAISearchModelCerebrasQwen3_235bA22bThinking InstanceDeleteResponseAISearchModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceDeleteResponseAISearchModelCerebrasLlama3_3_70b InstanceDeleteResponseAISearchModel = "cerebras/llama-3.3-70b"` - `const InstanceDeleteResponseAISearchModelCerebrasLlama4Maverick17b128eInstruct InstanceDeleteResponseAISearchModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceDeleteResponseAISearchModelCerebrasLlama4Scout17b16eInstruct InstanceDeleteResponseAISearchModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceDeleteResponseAISearchModelCerebrasGptOSs120b InstanceDeleteResponseAISearchModel = "cerebras/gpt-oss-120b"` - `const InstanceDeleteResponseAISearchModelGoogleAIStudioGemini2_5Flash InstanceDeleteResponseAISearchModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceDeleteResponseAISearchModelGoogleAIStudioGemini2_5Pro InstanceDeleteResponseAISearchModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceDeleteResponseAISearchModelGrokGrok4 InstanceDeleteResponseAISearchModel = "grok/grok-4"` - `const InstanceDeleteResponseAISearchModelGroqLlama3_3_70bVersatile InstanceDeleteResponseAISearchModel = "groq/llama-3.3-70b-versatile"` - `const InstanceDeleteResponseAISearchModelGroqLlama3_1_8bInstant InstanceDeleteResponseAISearchModel = "groq/llama-3.1-8b-instant"` - `const InstanceDeleteResponseAISearchModelOpenAIGpt5 InstanceDeleteResponseAISearchModel = "openai/gpt-5"` - `const InstanceDeleteResponseAISearchModelOpenAIGpt5Mini InstanceDeleteResponseAISearchModel = "openai/gpt-5-mini"` - `const InstanceDeleteResponseAISearchModelOpenAIGpt5Nano InstanceDeleteResponseAISearchModel = "openai/gpt-5-nano"` - `const InstanceDeleteResponseAISearchModelEmpty InstanceDeleteResponseAISearchModel = ""` - `Cache bool` - `CacheThreshold InstanceDeleteResponseCacheThreshold` - `const InstanceDeleteResponseCacheThresholdSuperStrictMatch InstanceDeleteResponseCacheThreshold = "super_strict_match"` - `const InstanceDeleteResponseCacheThresholdCloseEnough InstanceDeleteResponseCacheThreshold = "close_enough"` - `const InstanceDeleteResponseCacheThresholdFlexibleFriend InstanceDeleteResponseCacheThreshold = "flexible_friend"` - `const InstanceDeleteResponseCacheThresholdAnythingGoes InstanceDeleteResponseCacheThreshold = "anything_goes"` - `CacheTTL InstanceDeleteResponseCacheTTL` 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 InstanceDeleteResponseCacheTTL600 InstanceDeleteResponseCacheTTL = 600` - `const InstanceDeleteResponseCacheTTL1800 InstanceDeleteResponseCacheTTL = 1800` - `const InstanceDeleteResponseCacheTTL3600 InstanceDeleteResponseCacheTTL = 3600` - `const InstanceDeleteResponseCacheTTL7200 InstanceDeleteResponseCacheTTL = 7200` - `const InstanceDeleteResponseCacheTTL21600 InstanceDeleteResponseCacheTTL = 21600` - `const InstanceDeleteResponseCacheTTL43200 InstanceDeleteResponseCacheTTL = 43200` - `const InstanceDeleteResponseCacheTTL86400 InstanceDeleteResponseCacheTTL = 86400` - `const InstanceDeleteResponseCacheTTL172800 InstanceDeleteResponseCacheTTL = 172800` - `const InstanceDeleteResponseCacheTTL259200 InstanceDeleteResponseCacheTTL = 259200` - `const InstanceDeleteResponseCacheTTL518400 InstanceDeleteResponseCacheTTL = 518400` - `ChunkOverlap int64` - `ChunkSize int64` - `CreatedBy string` - `CustomMetadata []InstanceDeleteResponseCustomMetadata` - `DataType InstanceDeleteResponseCustomMetadataDataType` - `const InstanceDeleteResponseCustomMetadataDataTypeText InstanceDeleteResponseCustomMetadataDataType = "text"` - `const InstanceDeleteResponseCustomMetadataDataTypeNumber InstanceDeleteResponseCustomMetadataDataType = "number"` - `const InstanceDeleteResponseCustomMetadataDataTypeBoolean InstanceDeleteResponseCustomMetadataDataType = "boolean"` - `const InstanceDeleteResponseCustomMetadataDataTypeDatetime InstanceDeleteResponseCustomMetadataDataType = "datetime"` - `FieldName string` - `EmbeddingModel InstanceDeleteResponseEmbeddingModel` - `const InstanceDeleteResponseEmbeddingModelCfQwenQwen3Embedding0_6b InstanceDeleteResponseEmbeddingModel = "@cf/qwen/qwen3-embedding-0.6b"` - `const InstanceDeleteResponseEmbeddingModelCfBaaiBgeM3 InstanceDeleteResponseEmbeddingModel = "@cf/baai/bge-m3"` - `const InstanceDeleteResponseEmbeddingModelCfBaaiBgeLargeEnV1_5 InstanceDeleteResponseEmbeddingModel = "@cf/baai/bge-large-en-v1.5"` - `const InstanceDeleteResponseEmbeddingModelCfGoogleEmbeddinggemma300m InstanceDeleteResponseEmbeddingModel = "@cf/google/embeddinggemma-300m"` - `const InstanceDeleteResponseEmbeddingModelGoogleAIStudioGeminiEmbedding001 InstanceDeleteResponseEmbeddingModel = "google-ai-studio/gemini-embedding-001"` - `const InstanceDeleteResponseEmbeddingModelGoogleAIStudioGeminiEmbedding2Preview InstanceDeleteResponseEmbeddingModel = "google-ai-studio/gemini-embedding-2-preview"` - `const InstanceDeleteResponseEmbeddingModelOpenAITextEmbedding3Small InstanceDeleteResponseEmbeddingModel = "openai/text-embedding-3-small"` - `const InstanceDeleteResponseEmbeddingModelOpenAITextEmbedding3Large InstanceDeleteResponseEmbeddingModel = "openai/text-embedding-3-large"` - `const InstanceDeleteResponseEmbeddingModelEmpty InstanceDeleteResponseEmbeddingModel = ""` - `Enable bool` - `EngineVersion float64` - `FusionMethod InstanceDeleteResponseFusionMethod` - `const InstanceDeleteResponseFusionMethodMax InstanceDeleteResponseFusionMethod = "max"` - `const InstanceDeleteResponseFusionMethodRrf InstanceDeleteResponseFusionMethod = "rrf"` - `HybridSearchEnabled bool` Deprecated — use index_method instead. - `IndexMethod InstanceDeleteResponseIndexMethod` 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 InstanceDeleteResponseIndexingOptions` - `KeywordTokenizer InstanceDeleteResponseIndexingOptionsKeywordTokenizer` 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 InstanceDeleteResponseIndexingOptionsKeywordTokenizerPorter InstanceDeleteResponseIndexingOptionsKeywordTokenizer = "porter"` - `const InstanceDeleteResponseIndexingOptionsKeywordTokenizerTrigram InstanceDeleteResponseIndexingOptionsKeywordTokenizer = "trigram"` - `LastActivity Time` - `MaxNumResults int64` - `Metadata InstanceDeleteResponseMetadata` - `CreatedFromAISearchWizard bool` - `WorkerDomain string` - `ModifiedBy string` - `Namespace string` - `Paused bool` - `PublicEndpointID string` - `PublicEndpointParams InstanceDeleteResponsePublicEndpointParams` - `AuthorizedHosts []string` - `ChatCompletionsEndpoint InstanceDeleteResponsePublicEndpointParamsChatCompletionsEndpoint` - `Disabled bool` Disable chat completions endpoint for this public endpoint - `Enabled bool` - `Mcp InstanceDeleteResponsePublicEndpointParamsMcp` - `Description string` - `Disabled bool` Disable MCP endpoint for this public endpoint - `RateLimit InstanceDeleteResponsePublicEndpointParamsRateLimit` - `PeriodMs int64` - `Requests int64` - `Technique InstanceDeleteResponsePublicEndpointParamsRateLimitTechnique` - `const InstanceDeleteResponsePublicEndpointParamsRateLimitTechniqueFixed InstanceDeleteResponsePublicEndpointParamsRateLimitTechnique = "fixed"` - `const InstanceDeleteResponsePublicEndpointParamsRateLimitTechniqueSliding InstanceDeleteResponsePublicEndpointParamsRateLimitTechnique = "sliding"` - `SearchEndpoint InstanceDeleteResponsePublicEndpointParamsSearchEndpoint` - `Disabled bool` Disable search endpoint for this public endpoint - `Reranking bool` - `RerankingModel InstanceDeleteResponseRerankingModel` - `const InstanceDeleteResponseRerankingModelCfBaaiBgeRerankerBase InstanceDeleteResponseRerankingModel = "@cf/baai/bge-reranker-base"` - `const InstanceDeleteResponseRerankingModelEmpty InstanceDeleteResponseRerankingModel = ""` - `RetrievalOptions InstanceDeleteResponseRetrievalOptions` - `BoostBy []InstanceDeleteResponseRetrievalOptionsBoostBy` 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 InstanceDeleteResponseRetrievalOptionsBoostByDirection` 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 InstanceDeleteResponseRetrievalOptionsBoostByDirectionAsc InstanceDeleteResponseRetrievalOptionsBoostByDirection = "asc"` - `const InstanceDeleteResponseRetrievalOptionsBoostByDirectionDesc InstanceDeleteResponseRetrievalOptionsBoostByDirection = "desc"` - `const InstanceDeleteResponseRetrievalOptionsBoostByDirectionExists InstanceDeleteResponseRetrievalOptionsBoostByDirection = "exists"` - `const InstanceDeleteResponseRetrievalOptionsBoostByDirectionNotExists InstanceDeleteResponseRetrievalOptionsBoostByDirection = "not_exists"` - `KeywordMatchMode InstanceDeleteResponseRetrievalOptionsKeywordMatchMode` 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 InstanceDeleteResponseRetrievalOptionsKeywordMatchModeAnd InstanceDeleteResponseRetrievalOptionsKeywordMatchMode = "and"` - `const InstanceDeleteResponseRetrievalOptionsKeywordMatchModeOr InstanceDeleteResponseRetrievalOptionsKeywordMatchMode = "or"` - `RewriteModel InstanceDeleteResponseRewriteModel` - `const InstanceDeleteResponseRewriteModelCfMetaLlama3_3_70bInstructFp8Fast InstanceDeleteResponseRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceDeleteResponseRewriteModelCfZaiOrgGlm4_7Flash InstanceDeleteResponseRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceDeleteResponseRewriteModelCfMetaLlama3_1_8bInstructFast InstanceDeleteResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceDeleteResponseRewriteModelCfMetaLlama3_1_8bInstructFp8 InstanceDeleteResponseRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceDeleteResponseRewriteModelCfMetaLlama4Scout17b16eInstruct InstanceDeleteResponseRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceDeleteResponseRewriteModelCfQwenQwen3_30bA3bFp8 InstanceDeleteResponseRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceDeleteResponseRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceDeleteResponseRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceDeleteResponseRewriteModelCfMoonshotaiKimiK2Instruct InstanceDeleteResponseRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceDeleteResponseRewriteModelCfGoogleGemma3_12bIt InstanceDeleteResponseRewriteModel = "@cf/google/gemma-3-12b-it"` - `const InstanceDeleteResponseRewriteModelCfGoogleGemma4_26bA4bIt InstanceDeleteResponseRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceDeleteResponseRewriteModelCfMoonshotaiKimiK2_5 InstanceDeleteResponseRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceDeleteResponseRewriteModelAnthropicClaude3_7Sonnet InstanceDeleteResponseRewriteModel = "anthropic/claude-3-7-sonnet"` - `const InstanceDeleteResponseRewriteModelAnthropicClaudeSonnet4 InstanceDeleteResponseRewriteModel = "anthropic/claude-sonnet-4"` - `const InstanceDeleteResponseRewriteModelAnthropicClaudeOpus4 InstanceDeleteResponseRewriteModel = "anthropic/claude-opus-4"` - `const InstanceDeleteResponseRewriteModelAnthropicClaude3_5Haiku InstanceDeleteResponseRewriteModel = "anthropic/claude-3-5-haiku"` - `const InstanceDeleteResponseRewriteModelCerebrasQwen3_235bA22bInstruct InstanceDeleteResponseRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceDeleteResponseRewriteModelCerebrasQwen3_235bA22bThinking InstanceDeleteResponseRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceDeleteResponseRewriteModelCerebrasLlama3_3_70b InstanceDeleteResponseRewriteModel = "cerebras/llama-3.3-70b"` - `const InstanceDeleteResponseRewriteModelCerebrasLlama4Maverick17b128eInstruct InstanceDeleteResponseRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceDeleteResponseRewriteModelCerebrasLlama4Scout17b16eInstruct InstanceDeleteResponseRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceDeleteResponseRewriteModelCerebrasGptOSs120b InstanceDeleteResponseRewriteModel = "cerebras/gpt-oss-120b"` - `const InstanceDeleteResponseRewriteModelGoogleAIStudioGemini2_5Flash InstanceDeleteResponseRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceDeleteResponseRewriteModelGoogleAIStudioGemini2_5Pro InstanceDeleteResponseRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceDeleteResponseRewriteModelGrokGrok4 InstanceDeleteResponseRewriteModel = "grok/grok-4"` - `const InstanceDeleteResponseRewriteModelGroqLlama3_3_70bVersatile InstanceDeleteResponseRewriteModel = "groq/llama-3.3-70b-versatile"` - `const InstanceDeleteResponseRewriteModelGroqLlama3_1_8bInstant InstanceDeleteResponseRewriteModel = "groq/llama-3.1-8b-instant"` - `const InstanceDeleteResponseRewriteModelOpenAIGpt5 InstanceDeleteResponseRewriteModel = "openai/gpt-5"` - `const InstanceDeleteResponseRewriteModelOpenAIGpt5Mini InstanceDeleteResponseRewriteModel = "openai/gpt-5-mini"` - `const InstanceDeleteResponseRewriteModelOpenAIGpt5Nano InstanceDeleteResponseRewriteModel = "openai/gpt-5-nano"` - `const InstanceDeleteResponseRewriteModelEmpty InstanceDeleteResponseRewriteModel = ""` - `RewriteQuery bool` - `ScoreThreshold float64` - `Source string` - `SourceParams InstanceDeleteResponseSourceParams` - `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 InstanceDeleteResponseSourceParamsWebCrawler` - `CrawlOptions InstanceDeleteResponseSourceParamsWebCrawlerCrawlOptions` - `Depth float64` - `IncludeExternalLinks bool` - `IncludeSubdomains bool` - `MaxAge float64` - `Source InstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSource` - `const InstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSourceAll InstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSource = "all"` - `const InstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSourceSitemaps InstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSource = "sitemaps"` - `const InstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSourceLinks InstanceDeleteResponseSourceParamsWebCrawlerCrawlOptionsSource = "links"` - `ParseOptions InstanceDeleteResponseSourceParamsWebCrawlerParseOptions` - `ContentSelector []InstanceDeleteResponseSourceParamsWebCrawlerParseOptionsContentSelector` 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 InstanceDeleteResponseSourceParamsWebCrawlerParseType` - `const InstanceDeleteResponseSourceParamsWebCrawlerParseTypeSitemap InstanceDeleteResponseSourceParamsWebCrawlerParseType = "sitemap"` - `const InstanceDeleteResponseSourceParamsWebCrawlerParseTypeFeedRss InstanceDeleteResponseSourceParamsWebCrawlerParseType = "feed-rss"` - `const InstanceDeleteResponseSourceParamsWebCrawlerParseTypeCrawl InstanceDeleteResponseSourceParamsWebCrawlerParseType = "crawl"` - `StoreOptions InstanceDeleteResponseSourceParamsWebCrawlerStoreOptions` - `StorageID string` - `R2Jurisdiction string` - `StorageType Provider` - `const ProviderR2 Provider = "r2"` - `Status string` - `SyncInterval InstanceDeleteResponseSyncInterval` 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 InstanceDeleteResponseSyncInterval900 InstanceDeleteResponseSyncInterval = 900` - `const InstanceDeleteResponseSyncInterval1800 InstanceDeleteResponseSyncInterval = 1800` - `const InstanceDeleteResponseSyncInterval3600 InstanceDeleteResponseSyncInterval = 3600` - `const InstanceDeleteResponseSyncInterval7200 InstanceDeleteResponseSyncInterval = 7200` - `const InstanceDeleteResponseSyncInterval14400 InstanceDeleteResponseSyncInterval = 14400` - `const InstanceDeleteResponseSyncInterval21600 InstanceDeleteResponseSyncInterval = 21600` - `const InstanceDeleteResponseSyncInterval43200 InstanceDeleteResponseSyncInterval = 43200` - `const InstanceDeleteResponseSyncInterval86400 InstanceDeleteResponseSyncInterval = 86400` - `TokenID string` - `Type InstanceDeleteResponseType` - `const InstanceDeleteResponseTypeR2 InstanceDeleteResponseType = "r2"` - `const InstanceDeleteResponseTypeWebCrawler InstanceDeleteResponseType = "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.Instances.Delete( context.TODO(), "my-ai-search", ai_search.InstanceDeleteParams{ 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.Instances.Stats(ctx, id, query) (*InstanceStatsResponse, error)` **get** `/accounts/{account_id}/ai-search/instances/{id}/stats` Retrieves usage statistics for AI Search instances. ### Parameters - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `query InstanceStatsParams` - `AccountID param.Field[string]` ### Returns - `type InstanceStatsResponse struct{…}` - `Completed int64` - `Engine InstanceStatsResponseEngine` Engine-specific metadata. Present only for managed (v3) instances. - `R2 InstanceStatsResponseEngineR2` R2 bucket storage usage in bytes. - `MetadataSizeBytes int64` - `ObjectCount int64` - `PayloadSizeBytes int64` - `Vectorize InstanceStatsResponseEngineVectorize` 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.Instances.Stats( context.TODO(), "my-ai-search", ai_search.InstanceStatsParams{ 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.Instances.Search(ctx, id, params) (*InstanceSearchResponse, error)` **post** `/accounts/{account_id}/ai-search/instances/{id}/search` Executes a semantic search query against an AI Search instance to find relevant indexed content. ### Parameters - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params InstanceSearchParams` - `AccountID param.Field[string]` Path param - `AISearchOptions param.Field[InstanceSearchParamsAISearchOptions]` Body param - `Cache InstanceSearchParamsAISearchOptionsCache` - `CacheThreshold InstanceSearchParamsAISearchOptionsCacheCacheThreshold` - `const InstanceSearchParamsAISearchOptionsCacheCacheThresholdSuperStrictMatch InstanceSearchParamsAISearchOptionsCacheCacheThreshold = "super_strict_match"` - `const InstanceSearchParamsAISearchOptionsCacheCacheThresholdCloseEnough InstanceSearchParamsAISearchOptionsCacheCacheThreshold = "close_enough"` - `const InstanceSearchParamsAISearchOptionsCacheCacheThresholdFlexibleFriend InstanceSearchParamsAISearchOptionsCacheCacheThreshold = "flexible_friend"` - `const InstanceSearchParamsAISearchOptionsCacheCacheThresholdAnythingGoes InstanceSearchParamsAISearchOptionsCacheCacheThreshold = "anything_goes"` - `Enabled bool` - `QueryRewrite InstanceSearchParamsAISearchOptionsQueryRewrite` - `Enabled bool` - `Model InstanceSearchParamsAISearchOptionsQueryRewriteModel` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_3_70bInstructFp8Fast InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfZaiOrgGlm4_7Flash InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFast InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFp8 InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfMetaLlama4Scout17b16eInstruct InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfQwenQwen3_30bA3bFp8 InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2Instruct InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfGoogleGemma3_12bIt InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-3-12b-it"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfGoogleGemma4_26bA4bIt InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2_5 InstanceSearchParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_7Sonnet InstanceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-7-sonnet"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaudeSonnet4 InstanceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-sonnet-4"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaudeOpus4 InstanceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-opus-4"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_5Haiku InstanceSearchParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-5-haiku"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bInstruct InstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bThinking InstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasLlama3_3_70b InstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-3.3-70b"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Maverick17b128eInstruct InstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Scout17b16eInstruct InstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelCerebrasGptOSs120b InstanceSearchParamsAISearchOptionsQueryRewriteModel = "cerebras/gpt-oss-120b"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Flash InstanceSearchParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Pro InstanceSearchParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelGrokGrok4 InstanceSearchParamsAISearchOptionsQueryRewriteModel = "grok/grok-4"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelGroqLlama3_3_70bVersatile InstanceSearchParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.3-70b-versatile"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelGroqLlama3_1_8bInstant InstanceSearchParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.1-8b-instant"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelOpenAIGpt5 InstanceSearchParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Mini InstanceSearchParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-mini"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Nano InstanceSearchParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-nano"` - `const InstanceSearchParamsAISearchOptionsQueryRewriteModelEmpty InstanceSearchParamsAISearchOptionsQueryRewriteModel = ""` - `RewritePrompt string` - `Reranking InstanceSearchParamsAISearchOptionsReranking` - `Enabled bool` - `MatchThreshold float64` - `Model InstanceSearchParamsAISearchOptionsRerankingModel` - `const InstanceSearchParamsAISearchOptionsRerankingModelCfBaaiBgeRerankerBase InstanceSearchParamsAISearchOptionsRerankingModel = "@cf/baai/bge-reranker-base"` - `const InstanceSearchParamsAISearchOptionsRerankingModelEmpty InstanceSearchParamsAISearchOptionsRerankingModel = ""` - `Retrieval InstanceSearchParamsAISearchOptionsRetrieval` - `BoostBy []InstanceSearchParamsAISearchOptionsRetrievalBoostBy` 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 InstanceSearchParamsAISearchOptionsRetrievalBoostByDirection` 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 InstanceSearchParamsAISearchOptionsRetrievalBoostByDirectionAsc InstanceSearchParamsAISearchOptionsRetrievalBoostByDirection = "asc"` - `const InstanceSearchParamsAISearchOptionsRetrievalBoostByDirectionDesc InstanceSearchParamsAISearchOptionsRetrievalBoostByDirection = "desc"` - `const InstanceSearchParamsAISearchOptionsRetrievalBoostByDirectionExists InstanceSearchParamsAISearchOptionsRetrievalBoostByDirection = "exists"` - `const InstanceSearchParamsAISearchOptionsRetrievalBoostByDirectionNotExists InstanceSearchParamsAISearchOptionsRetrievalBoostByDirection = "not_exists"` - `ContextExpansion int64` - `Filters map[string, unknown]` - `FusionMethod InstanceSearchParamsAISearchOptionsRetrievalFusionMethod` - `const InstanceSearchParamsAISearchOptionsRetrievalFusionMethodMax InstanceSearchParamsAISearchOptionsRetrievalFusionMethod = "max"` - `const InstanceSearchParamsAISearchOptionsRetrievalFusionMethodRrf InstanceSearchParamsAISearchOptionsRetrievalFusionMethod = "rrf"` - `KeywordMatchMode InstanceSearchParamsAISearchOptionsRetrievalKeywordMatchMode` 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 InstanceSearchParamsAISearchOptionsRetrievalKeywordMatchModeAnd InstanceSearchParamsAISearchOptionsRetrievalKeywordMatchMode = "and"` - `const InstanceSearchParamsAISearchOptionsRetrievalKeywordMatchModeOr InstanceSearchParamsAISearchOptionsRetrievalKeywordMatchMode = "or"` - `MatchThreshold float64` - `MaxNumResults int64` - `RetrievalType InstanceSearchParamsAISearchOptionsRetrievalRetrievalType` - `const InstanceSearchParamsAISearchOptionsRetrievalRetrievalTypeVector InstanceSearchParamsAISearchOptionsRetrievalRetrievalType = "vector"` - `const InstanceSearchParamsAISearchOptionsRetrievalRetrievalTypeKeyword InstanceSearchParamsAISearchOptionsRetrievalRetrievalType = "keyword"` - `const InstanceSearchParamsAISearchOptionsRetrievalRetrievalTypeHybrid InstanceSearchParamsAISearchOptionsRetrievalRetrievalType = "hybrid"` - `ReturnOnFailure bool` - `Messages param.Field[[]InstanceSearchParamsMessage]` Body param - `Content string` - `Role InstanceSearchParamsMessagesRole` - `const InstanceSearchParamsMessagesRoleSystem InstanceSearchParamsMessagesRole = "system"` - `const InstanceSearchParamsMessagesRoleDeveloper InstanceSearchParamsMessagesRole = "developer"` - `const InstanceSearchParamsMessagesRoleUser InstanceSearchParamsMessagesRole = "user"` - `const InstanceSearchParamsMessagesRoleAssistant InstanceSearchParamsMessagesRole = "assistant"` - `const InstanceSearchParamsMessagesRoleTool InstanceSearchParamsMessagesRole = "tool"` - `Query param.Field[string]` Body param: A simple text query string. Alternative to 'messages' — provide either this or 'messages', not both. ### Returns - `type InstanceSearchResponse struct{…}` - `Chunks []InstanceSearchResponseChunk` - `ID string` - `Score float64` - `Text string` - `Type string` - `Item InstanceSearchResponseChunksItem` - `Key string` - `Metadata map[string, unknown]` - `Timestamp float64` - `ScoringDetails InstanceSearchResponseChunksScoringDetails` - `FusionMethod InstanceSearchResponseChunksScoringDetailsFusionMethod` - `const InstanceSearchResponseChunksScoringDetailsFusionMethodRrf InstanceSearchResponseChunksScoringDetailsFusionMethod = "rrf"` - `const InstanceSearchResponseChunksScoringDetailsFusionMethodMax InstanceSearchResponseChunksScoringDetailsFusionMethod = "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.Instances.Search( context.TODO(), "my-ai-search", ai_search.InstanceSearchParams{ 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.Instances.ChatCompletions(ctx, id, params) (*InstanceChatCompletionsResponse, error)` **post** `/accounts/{account_id}/ai-search/instances/{id}/chat/completions` Performs a chat completion request against an AI Search instance, using indexed content as context for generating responses. ### Parameters - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params InstanceChatCompletionsParams` - `AccountID param.Field[string]` Path param - `Messages param.Field[[]InstanceChatCompletionsParamsMessage]` Body param - `Content string` - `Role InstanceChatCompletionsParamsMessagesRole` - `const InstanceChatCompletionsParamsMessagesRoleSystem InstanceChatCompletionsParamsMessagesRole = "system"` - `const InstanceChatCompletionsParamsMessagesRoleDeveloper InstanceChatCompletionsParamsMessagesRole = "developer"` - `const InstanceChatCompletionsParamsMessagesRoleUser InstanceChatCompletionsParamsMessagesRole = "user"` - `const InstanceChatCompletionsParamsMessagesRoleAssistant InstanceChatCompletionsParamsMessagesRole = "assistant"` - `const InstanceChatCompletionsParamsMessagesRoleTool InstanceChatCompletionsParamsMessagesRole = "tool"` - `AISearchOptions param.Field[InstanceChatCompletionsParamsAISearchOptions]` Body param - `Cache InstanceChatCompletionsParamsAISearchOptionsCache` - `CacheThreshold InstanceChatCompletionsParamsAISearchOptionsCacheCacheThreshold` - `const InstanceChatCompletionsParamsAISearchOptionsCacheCacheThresholdSuperStrictMatch InstanceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "super_strict_match"` - `const InstanceChatCompletionsParamsAISearchOptionsCacheCacheThresholdCloseEnough InstanceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "close_enough"` - `const InstanceChatCompletionsParamsAISearchOptionsCacheCacheThresholdFlexibleFriend InstanceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "flexible_friend"` - `const InstanceChatCompletionsParamsAISearchOptionsCacheCacheThresholdAnythingGoes InstanceChatCompletionsParamsAISearchOptionsCacheCacheThreshold = "anything_goes"` - `Enabled bool` - `QueryRewrite InstanceChatCompletionsParamsAISearchOptionsQueryRewrite` - `Enabled bool` - `Model InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_3_70bInstructFp8Fast InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfZaiOrgGlm4_7Flash InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFast InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama3_1_8bInstructFp8 InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMetaLlama4Scout17b16eInstruct InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfQwenQwen3_30bA3bFp8 InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2Instruct InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfGoogleGemma3_12bIt InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-3-12b-it"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfGoogleGemma4_26bA4bIt InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCfMoonshotaiKimiK2_5 InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_7Sonnet InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-7-sonnet"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaudeSonnet4 InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-sonnet-4"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaudeOpus4 InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-opus-4"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelAnthropicClaude3_5Haiku InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "anthropic/claude-3-5-haiku"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bInstruct InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasQwen3_235bA22bThinking InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasLlama3_3_70b InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-3.3-70b"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Maverick17b128eInstruct InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasLlama4Scout17b16eInstruct InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelCerebrasGptOSs120b InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "cerebras/gpt-oss-120b"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Flash InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelGoogleAIStudioGemini2_5Pro InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelGrokGrok4 InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "grok/grok-4"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelGroqLlama3_3_70bVersatile InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.3-70b-versatile"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelGroqLlama3_1_8bInstant InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "groq/llama-3.1-8b-instant"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelOpenAIGpt5 InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Mini InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-mini"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelOpenAIGpt5Nano InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = "openai/gpt-5-nano"` - `const InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModelEmpty InstanceChatCompletionsParamsAISearchOptionsQueryRewriteModel = ""` - `RewritePrompt string` - `Reranking InstanceChatCompletionsParamsAISearchOptionsReranking` - `Enabled bool` - `MatchThreshold float64` - `Model InstanceChatCompletionsParamsAISearchOptionsRerankingModel` - `const InstanceChatCompletionsParamsAISearchOptionsRerankingModelCfBaaiBgeRerankerBase InstanceChatCompletionsParamsAISearchOptionsRerankingModel = "@cf/baai/bge-reranker-base"` - `const InstanceChatCompletionsParamsAISearchOptionsRerankingModelEmpty InstanceChatCompletionsParamsAISearchOptionsRerankingModel = ""` - `Retrieval InstanceChatCompletionsParamsAISearchOptionsRetrieval` - `BoostBy []InstanceChatCompletionsParamsAISearchOptionsRetrievalBoostBy` 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 InstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection` 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 InstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionAsc InstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "asc"` - `const InstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionDesc InstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "desc"` - `const InstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionExists InstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "exists"` - `const InstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirectionNotExists InstanceChatCompletionsParamsAISearchOptionsRetrievalBoostByDirection = "not_exists"` - `ContextExpansion int64` - `Filters map[string, unknown]` - `FusionMethod InstanceChatCompletionsParamsAISearchOptionsRetrievalFusionMethod` - `const InstanceChatCompletionsParamsAISearchOptionsRetrievalFusionMethodMax InstanceChatCompletionsParamsAISearchOptionsRetrievalFusionMethod = "max"` - `const InstanceChatCompletionsParamsAISearchOptionsRetrievalFusionMethodRrf InstanceChatCompletionsParamsAISearchOptionsRetrievalFusionMethod = "rrf"` - `KeywordMatchMode InstanceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchMode` 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 InstanceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchModeAnd InstanceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchMode = "and"` - `const InstanceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchModeOr InstanceChatCompletionsParamsAISearchOptionsRetrievalKeywordMatchMode = "or"` - `MatchThreshold float64` - `MaxNumResults int64` - `RetrievalType InstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType` - `const InstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalTypeVector InstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType = "vector"` - `const InstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalTypeKeyword InstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType = "keyword"` - `const InstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalTypeHybrid InstanceChatCompletionsParamsAISearchOptionsRetrievalRetrievalType = "hybrid"` - `ReturnOnFailure bool` - `Model param.Field[InstanceChatCompletionsParamsModel]` Body param - `const InstanceChatCompletionsParamsModelCfMetaLlama3_3_70bInstructFp8Fast InstanceChatCompletionsParamsModel = "@cf/meta/llama-3.3-70b-instruct-fp8-fast"` - `const InstanceChatCompletionsParamsModelCfZaiOrgGlm4_7Flash InstanceChatCompletionsParamsModel = "@cf/zai-org/glm-4.7-flash"` - `const InstanceChatCompletionsParamsModelCfMetaLlama3_1_8bInstructFast InstanceChatCompletionsParamsModel = "@cf/meta/llama-3.1-8b-instruct-fast"` - `const InstanceChatCompletionsParamsModelCfMetaLlama3_1_8bInstructFp8 InstanceChatCompletionsParamsModel = "@cf/meta/llama-3.1-8b-instruct-fp8"` - `const InstanceChatCompletionsParamsModelCfMetaLlama4Scout17b16eInstruct InstanceChatCompletionsParamsModel = "@cf/meta/llama-4-scout-17b-16e-instruct"` - `const InstanceChatCompletionsParamsModelCfQwenQwen3_30bA3bFp8 InstanceChatCompletionsParamsModel = "@cf/qwen/qwen3-30b-a3b-fp8"` - `const InstanceChatCompletionsParamsModelCfDeepseekAIDeepseekR1DistillQwen32b InstanceChatCompletionsParamsModel = "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"` - `const InstanceChatCompletionsParamsModelCfMoonshotaiKimiK2Instruct InstanceChatCompletionsParamsModel = "@cf/moonshotai/kimi-k2-instruct"` - `const InstanceChatCompletionsParamsModelCfGoogleGemma3_12bIt InstanceChatCompletionsParamsModel = "@cf/google/gemma-3-12b-it"` - `const InstanceChatCompletionsParamsModelCfGoogleGemma4_26bA4bIt InstanceChatCompletionsParamsModel = "@cf/google/gemma-4-26b-a4b-it"` - `const InstanceChatCompletionsParamsModelCfMoonshotaiKimiK2_5 InstanceChatCompletionsParamsModel = "@cf/moonshotai/kimi-k2.5"` - `const InstanceChatCompletionsParamsModelAnthropicClaude3_7Sonnet InstanceChatCompletionsParamsModel = "anthropic/claude-3-7-sonnet"` - `const InstanceChatCompletionsParamsModelAnthropicClaudeSonnet4 InstanceChatCompletionsParamsModel = "anthropic/claude-sonnet-4"` - `const InstanceChatCompletionsParamsModelAnthropicClaudeOpus4 InstanceChatCompletionsParamsModel = "anthropic/claude-opus-4"` - `const InstanceChatCompletionsParamsModelAnthropicClaude3_5Haiku InstanceChatCompletionsParamsModel = "anthropic/claude-3-5-haiku"` - `const InstanceChatCompletionsParamsModelCerebrasQwen3_235bA22bInstruct InstanceChatCompletionsParamsModel = "cerebras/qwen-3-235b-a22b-instruct"` - `const InstanceChatCompletionsParamsModelCerebrasQwen3_235bA22bThinking InstanceChatCompletionsParamsModel = "cerebras/qwen-3-235b-a22b-thinking"` - `const InstanceChatCompletionsParamsModelCerebrasLlama3_3_70b InstanceChatCompletionsParamsModel = "cerebras/llama-3.3-70b"` - `const InstanceChatCompletionsParamsModelCerebrasLlama4Maverick17b128eInstruct InstanceChatCompletionsParamsModel = "cerebras/llama-4-maverick-17b-128e-instruct"` - `const InstanceChatCompletionsParamsModelCerebrasLlama4Scout17b16eInstruct InstanceChatCompletionsParamsModel = "cerebras/llama-4-scout-17b-16e-instruct"` - `const InstanceChatCompletionsParamsModelCerebrasGptOSs120b InstanceChatCompletionsParamsModel = "cerebras/gpt-oss-120b"` - `const InstanceChatCompletionsParamsModelGoogleAIStudioGemini2_5Flash InstanceChatCompletionsParamsModel = "google-ai-studio/gemini-2.5-flash"` - `const InstanceChatCompletionsParamsModelGoogleAIStudioGemini2_5Pro InstanceChatCompletionsParamsModel = "google-ai-studio/gemini-2.5-pro"` - `const InstanceChatCompletionsParamsModelGrokGrok4 InstanceChatCompletionsParamsModel = "grok/grok-4"` - `const InstanceChatCompletionsParamsModelGroqLlama3_3_70bVersatile InstanceChatCompletionsParamsModel = "groq/llama-3.3-70b-versatile"` - `const InstanceChatCompletionsParamsModelGroqLlama3_1_8bInstant InstanceChatCompletionsParamsModel = "groq/llama-3.1-8b-instant"` - `const InstanceChatCompletionsParamsModelOpenAIGpt5 InstanceChatCompletionsParamsModel = "openai/gpt-5"` - `const InstanceChatCompletionsParamsModelOpenAIGpt5Mini InstanceChatCompletionsParamsModel = "openai/gpt-5-mini"` - `const InstanceChatCompletionsParamsModelOpenAIGpt5Nano InstanceChatCompletionsParamsModel = "openai/gpt-5-nano"` - `const InstanceChatCompletionsParamsModelEmpty InstanceChatCompletionsParamsModel = ""` - `Stream param.Field[bool]` Body param ### Returns - `type InstanceChatCompletionsResponse struct{…}` - `Choices []InstanceChatCompletionsResponseChoice` - `Message InstanceChatCompletionsResponseChoicesMessage` - `Content string` - `Role InstanceChatCompletionsResponseChoicesMessageRole` - `const InstanceChatCompletionsResponseChoicesMessageRoleSystem InstanceChatCompletionsResponseChoicesMessageRole = "system"` - `const InstanceChatCompletionsResponseChoicesMessageRoleDeveloper InstanceChatCompletionsResponseChoicesMessageRole = "developer"` - `const InstanceChatCompletionsResponseChoicesMessageRoleUser InstanceChatCompletionsResponseChoicesMessageRole = "user"` - `const InstanceChatCompletionsResponseChoicesMessageRoleAssistant InstanceChatCompletionsResponseChoicesMessageRole = "assistant"` - `const InstanceChatCompletionsResponseChoicesMessageRoleTool InstanceChatCompletionsResponseChoicesMessageRole = "tool"` - `Index int64` - `Chunks []InstanceChatCompletionsResponseChunk` - `ID string` - `Score float64` - `Text string` - `Type string` - `Item InstanceChatCompletionsResponseChunksItem` - `Key string` - `Metadata map[string, unknown]` - `Timestamp float64` - `ScoringDetails InstanceChatCompletionsResponseChunksScoringDetails` - `FusionMethod InstanceChatCompletionsResponseChunksScoringDetailsFusionMethod` - `const InstanceChatCompletionsResponseChunksScoringDetailsFusionMethodRrf InstanceChatCompletionsResponseChunksScoringDetailsFusionMethod = "rrf"` - `const InstanceChatCompletionsResponseChunksScoringDetailsFusionMethodMax InstanceChatCompletionsResponseChunksScoringDetailsFusionMethod = "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.Instances.ChatCompletions( context.TODO(), "my-ai-search", ai_search.InstanceChatCompletionsParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), Messages: cloudflare.F([]ai_search.InstanceChatCompletionsParamsMessage{ai_search.InstanceChatCompletionsParamsMessage{ Content: cloudflare.F("content"), Role: cloudflare.F(ai_search.InstanceChatCompletionsParamsMessagesRoleSystem), }}), }, ) 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.Instances.Jobs.List(ctx, id, params) (*V4PagePaginationArray[InstanceJobListResponse], error)` **get** `/accounts/{account_id}/ai-search/instances/{id}/jobs` Lists indexing jobs for an AI Search instance. ### Parameters - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params InstanceJobListParams` - `AccountID param.Field[string]` Path param - `Page param.Field[int64]` Query param - `PerPage param.Field[int64]` Query param ### Returns - `type InstanceJobListResponse struct{…}` - `ID string` - `Source InstanceJobListResponseSource` - `const InstanceJobListResponseSourceUser InstanceJobListResponseSource = "user"` - `const InstanceJobListResponseSourceSchedule InstanceJobListResponseSource = "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.Instances.Jobs.List( context.TODO(), "my-ai-search", ai_search.InstanceJobListParams{ 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.Instances.Jobs.New(ctx, id, params) (*InstanceJobNewResponse, error)` **post** `/accounts/{account_id}/ai-search/instances/{id}/jobs` Creates a new indexing job for an AI Search instance. ### Parameters - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `params InstanceJobNewParams` - `AccountID param.Field[string]` Path param - `Description param.Field[string]` Body param ### Returns - `type InstanceJobNewResponse struct{…}` - `ID string` - `Source InstanceJobNewResponseSource` - `const InstanceJobNewResponseSourceUser InstanceJobNewResponseSource = "user"` - `const InstanceJobNewResponseSourceSchedule InstanceJobNewResponseSource = "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.Instances.Jobs.New( context.TODO(), "my-ai-search", ai_search.InstanceJobNewParams{ 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.Instances.Jobs.Get(ctx, id, jobID, query) (*InstanceJobGetResponse, error)` **get** `/accounts/{account_id}/ai-search/instances/{id}/jobs/{job_id}` Retrieves details for a specific AI Search indexing job. ### Parameters - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `jobID string` - `query InstanceJobGetParams` - `AccountID param.Field[string]` ### Returns - `type InstanceJobGetResponse struct{…}` - `ID string` - `Source InstanceJobGetResponseSource` - `const InstanceJobGetResponseSourceUser InstanceJobGetResponseSource = "user"` - `const InstanceJobGetResponseSourceSchedule InstanceJobGetResponseSource = "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.Instances.Jobs.Get( context.TODO(), "my-ai-search", "job_id", ai_search.InstanceJobGetParams{ 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 } ``` ## List Job Logs `client.AISearch.Instances.Jobs.Logs(ctx, id, jobID, params) (*[]InstanceJobLogsResponse, error)` **get** `/accounts/{account_id}/ai-search/instances/{id}/jobs/{job_id}/logs` Lists log entries for an AI Search indexing job. ### Parameters - `id string` AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores. - `jobID string` - `params InstanceJobLogsParams` - `AccountID param.Field[string]` Path param - `Page param.Field[int64]` Query param - `PerPage param.Field[int64]` Query param ### Returns - `type InstanceJobLogsResponseEnvelopeResult []InstanceJobLogsResponse` - `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.Instances.Jobs.Logs( context.TODO(), "my-ai-search", "job_id", ai_search.InstanceJobLogsParams{ 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 } ``` # Tokens ## List tokens. `client.AISearch.Tokens.List(ctx, params) (*V4PagePaginationArray[TokenListResponse], error)` **get** `/accounts/{account_id}/ai-search/tokens` List tokens. ### Parameters - `params TokenListParams` - `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 tokens whose name contains this string (case-insensitive). ### Returns - `type TokenListResponse struct{…}` - `ID string` - `CfAPIID string` - `CreatedAt Time` - `ModifiedAt Time` - `Name string` - `CreatedBy string` - `Enabled bool` - `Legacy bool` - `ModifiedBy 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.Tokens.List(context.TODO(), ai_search.TokenListParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "result": [ { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "cf_api_id": "cf_api_id", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name", "created_by": "created_by", "enabled": true, "legacy": true, "modified_by": "modified_by" } ], "result_info": { "count": 0, "page": 0, "per_page": 0, "total_count": 0 }, "success": true } ``` ## Create token. `client.AISearch.Tokens.New(ctx, params) (*TokenNewResponse, error)` **post** `/accounts/{account_id}/ai-search/tokens` Create a new token. ### Parameters - `params TokenNewParams` - `AccountID param.Field[string]` Path param - `CfAPIID param.Field[string]` Body param - `CfAPIKey param.Field[string]` Body param - `Name param.Field[string]` Body param - `Legacy param.Field[bool]` Body param ### Returns - `type TokenNewResponse struct{…}` - `ID string` - `CfAPIID string` - `CreatedAt Time` - `ModifiedAt Time` - `Name string` - `CreatedBy string` - `Enabled bool` - `Legacy bool` - `ModifiedBy 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"), ) token, err := client.AISearch.Tokens.New(context.TODO(), ai_search.TokenNewParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), CfAPIID: cloudflare.F("a1b2c3d4e5f6"), CfAPIKey: cloudflare.F("abc123"), Name: cloudflare.F("my-token"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", token.ID) } ``` #### Response ```json { "result": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "cf_api_id": "cf_api_id", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name", "created_by": "created_by", "enabled": true, "legacy": true, "modified_by": "modified_by" }, "success": true } ``` ## Read token. `client.AISearch.Tokens.Read(ctx, id, query) (*TokenReadResponse, error)` **get** `/accounts/{account_id}/ai-search/tokens/{id}` Read token. ### Parameters - `id string` - `query TokenReadParams` - `AccountID param.Field[string]` ### Returns - `type TokenReadResponse struct{…}` - `ID string` - `CfAPIID string` - `CreatedAt Time` - `ModifiedAt Time` - `Name string` - `CreatedBy string` - `Enabled bool` - `Legacy bool` - `ModifiedBy 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.Tokens.Read( context.TODO(), "62af0db3-c410-40b2-9ee3-0e93f6dd1de0", ai_search.TokenReadParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "result": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "cf_api_id": "cf_api_id", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name", "created_by": "created_by", "enabled": true, "legacy": true, "modified_by": "modified_by" }, "success": true } ``` ## Update token. `client.AISearch.Tokens.Update(ctx, id, params) (*TokenUpdateResponse, error)` **put** `/accounts/{account_id}/ai-search/tokens/{id}` Update token. ### Parameters - `id string` - `params TokenUpdateParams` - `AccountID param.Field[string]` Path param - `CfAPIID param.Field[string]` Body param - `CfAPIKey param.Field[string]` Body param - `Name param.Field[string]` Body param - `Legacy param.Field[bool]` Body param ### Returns - `type TokenUpdateResponse struct{…}` - `ID string` - `CfAPIID string` - `CreatedAt Time` - `ModifiedAt Time` - `Name string` - `CreatedBy string` - `Enabled bool` - `Legacy bool` - `ModifiedBy 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"), ) token, err := client.AISearch.Tokens.Update( context.TODO(), "62af0db3-c410-40b2-9ee3-0e93f6dd1de0", ai_search.TokenUpdateParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), CfAPIID: cloudflare.F("a1b2c3d4e5f6"), CfAPIKey: cloudflare.F("abc123"), Name: cloudflare.F("my-token"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", token.ID) } ``` #### Response ```json { "result": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "cf_api_id": "cf_api_id", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name", "created_by": "created_by", "enabled": true, "legacy": true, "modified_by": "modified_by" }, "success": true } ``` ## Delete token. `client.AISearch.Tokens.Delete(ctx, id, body) (*TokenDeleteResponse, error)` **delete** `/accounts/{account_id}/ai-search/tokens/{id}` Delete token. ### Parameters - `id string` - `body TokenDeleteParams` - `AccountID param.Field[string]` ### Returns - `type TokenDeleteResponse 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"), ) token, err := client.AISearch.Tokens.Delete( context.TODO(), "62af0db3-c410-40b2-9ee3-0e93f6dd1de0", ai_search.TokenDeleteParams{ AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", token) } ``` #### Response ```json { "result": {}, "success": true } ```