Skip to content
Start here

Instances

List instances.
GET/accounts/{account_id}/ai-search/instances
Create new instances.
POST/accounts/{account_id}/ai-search/instances
Read instances.
GET/accounts/{account_id}/ai-search/instances/{id}
Update instances.
PUT/accounts/{account_id}/ai-search/instances/{id}
Delete instances.
DELETE/accounts/{account_id}/ai-search/instances/{id}
Stats
GET/accounts/{account_id}/ai-search/instances/{id}/stats
Search
POST/accounts/{account_id}/ai-search/instances/{id}/search
Chat Completions
POST/accounts/{account_id}/ai-search/instances/{id}/chat/completions
ModelsExpand Collapse
InstanceListResponse = object { id, created_at, modified_at, 33 more }
id: string

AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.

maxLength64
minLength1
created_at: string
formatdate-time
modified_at: string
formatdate-time
ai_gateway_id: optional string
ai_search_model: optional "@cf/meta/llama-3.3-70b-instruct-fp8-fast" or "@cf/zai-org/glm-4.7-flash" or "@cf/meta/llama-3.1-8b-instruct-fast" or 25 more
One of the following:
"@cf/meta/llama-3.3-70b-instruct-fp8-fast"
"@cf/zai-org/glm-4.7-flash"
"@cf/meta/llama-3.1-8b-instruct-fast"
"@cf/meta/llama-3.1-8b-instruct-fp8"
"@cf/meta/llama-4-scout-17b-16e-instruct"
"@cf/qwen/qwen3-30b-a3b-fp8"
"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"
"@cf/moonshotai/kimi-k2-instruct"
"@cf/google/gemma-3-12b-it"
"anthropic/claude-3-7-sonnet"
"anthropic/claude-sonnet-4"
"anthropic/claude-opus-4"
"anthropic/claude-3-5-haiku"
"cerebras/qwen-3-235b-a22b-instruct"
"cerebras/qwen-3-235b-a22b-thinking"
"cerebras/llama-3.3-70b"
"cerebras/llama-4-maverick-17b-128e-instruct"
"cerebras/llama-4-scout-17b-16e-instruct"
"cerebras/gpt-oss-120b"
"google-ai-studio/gemini-2.5-flash"
"google-ai-studio/gemini-2.5-pro"
"grok/grok-4"
"groq/llama-3.3-70b-versatile"
"groq/llama-3.1-8b-instant"
"openai/gpt-5"
"openai/gpt-5-mini"
"openai/gpt-5-nano"
""
cache: optional boolean
cache_threshold: optional "super_strict_match" or "close_enough" or "flexible_friend" or "anything_goes"
One of the following:
"super_strict_match"
"close_enough"
"flexible_friend"
"anything_goes"
chunk_overlap: optional number
maximum30
minimum0
chunk_size: optional number
minimum64
created_by: optional string
custom_metadata: optional array of object { data_type, field_name }
data_type: "text" or "number" or "boolean" or "datetime"
One of the following:
"text"
"number"
"boolean"
"datetime"
field_name: string
maxLength64
minLength1
embedding_model: optional "@cf/qwen/qwen3-embedding-0.6b" or "@cf/baai/bge-m3" or "@cf/baai/bge-large-en-v1.5" or 6 more
One of the following:
"@cf/qwen/qwen3-embedding-0.6b"
"@cf/baai/bge-m3"
"@cf/baai/bge-large-en-v1.5"
"@cf/google/embeddinggemma-300m"
"google-ai-studio/gemini-embedding-001"
"google-ai-studio/gemini-embedding-2-preview"
"openai/text-embedding-3-small"
"openai/text-embedding-3-large"
""
enable: optional boolean
engine_version: optional number
fusion_method: optional "max" or "rrf"
One of the following:
"max"
"rrf"
hybrid_search_enabled: optional boolean
indexing_options: optional object { keyword_tokenizer }
keyword_tokenizer: optional "porter" or "trigram"

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.

One of the following:
"porter"
"trigram"
last_activity: optional string
formatdate-time
max_num_results: optional number
maximum50
minimum1
metadata: optional object { created_from_aisearch_wizard, worker_domain }
created_from_aisearch_wizard: optional boolean
worker_domain: optional string
modified_by: optional string
namespace: optional string
maxLength32
minLength1
paused: optional boolean
public_endpoint_id: optional string
public_endpoint_params: optional object { authorized_hosts, chat_completions_endpoint, enabled, 3 more }
authorized_hosts: optional array of string
chat_completions_endpoint: optional object { disabled }
disabled: optional boolean

Disable chat completions endpoint for this public endpoint

enabled: optional boolean
mcp: optional object { description, disabled }
description: optional string
disabled: optional boolean

Disable MCP endpoint for this public endpoint

rate_limit: optional object { period_ms, requests, technique }
period_ms: optional number
maximum3600000
minimum60000
requests: optional number
minimum1
technique: optional "fixed" or "sliding"
One of the following:
"fixed"
"sliding"
search_endpoint: optional object { disabled }
disabled: optional boolean

Disable search endpoint for this public endpoint

reranking: optional boolean
reranking_model: optional "@cf/baai/bge-reranker-base" or ""
One of the following:
"@cf/baai/bge-reranker-base"
""
retrieval_options: optional object { boost_by, keyword_match_mode }
boost_by: optional array of object { field, direction }

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.

maxLength64
minLength1
direction: optional "asc" or "desc" or "exists" or "not_exists"

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.

One of the following:
"asc"
"desc"
"exists"
"not_exists"
keyword_match_mode: optional "and" or "or"

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'. Legacy values 'exact_match' and 'fuzzy_match' are accepted and map to 'and' and 'or' respectively.

One of the following:
"and"
"or"
rewrite_model: optional "@cf/meta/llama-3.3-70b-instruct-fp8-fast" or "@cf/zai-org/glm-4.7-flash" or "@cf/meta/llama-3.1-8b-instruct-fast" or 25 more
One of the following:
"@cf/meta/llama-3.3-70b-instruct-fp8-fast"
"@cf/zai-org/glm-4.7-flash"
"@cf/meta/llama-3.1-8b-instruct-fast"
"@cf/meta/llama-3.1-8b-instruct-fp8"
"@cf/meta/llama-4-scout-17b-16e-instruct"
"@cf/qwen/qwen3-30b-a3b-fp8"
"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"
"@cf/moonshotai/kimi-k2-instruct"
"@cf/google/gemma-3-12b-it"
"anthropic/claude-3-7-sonnet"
"anthropic/claude-sonnet-4"
"anthropic/claude-opus-4"
"anthropic/claude-3-5-haiku"
"cerebras/qwen-3-235b-a22b-instruct"
"cerebras/qwen-3-235b-a22b-thinking"
"cerebras/llama-3.3-70b"
"cerebras/llama-4-maverick-17b-128e-instruct"
"cerebras/llama-4-scout-17b-16e-instruct"
"cerebras/gpt-oss-120b"
"google-ai-studio/gemini-2.5-flash"
"google-ai-studio/gemini-2.5-pro"
"grok/grok-4"
"groq/llama-3.3-70b-versatile"
"groq/llama-3.1-8b-instant"
"openai/gpt-5"
"openai/gpt-5-mini"
"openai/gpt-5-nano"
""
rewrite_query: optional boolean
score_threshold: optional number
maximum1
minimum0
source: optional string
source_params: optional object { exclude_items, include_items, prefix, 2 more }
exclude_items: optional array of 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)

include_items: optional array of 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: optional string
r2_jurisdiction: optional string
web_crawler: optional object { crawl_options, parse_options, parse_type, store_options }
crawl_options: optional object { depth, include_external_links, include_subdomains, 2 more }
depth: optional number
maximum100000
minimum1
include_subdomains: optional boolean
max_age: optional number
maximum604800
minimum0
source: optional "all" or "sitemaps" or "links"
One of the following:
"all"
"sitemaps"
"links"
parse_options: optional object { content_selector, include_headers, include_images, 2 more }
content_selector: optional array of object { path, selector }

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.

path: string

Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories.

maxLength200
selector: string

CSS selector to extract content from pages matching the path pattern. Supports standard CSS selectors including class, ID, element, and attribute selectors.

maxLength200
include_headers: optional map[string]
include_images: optional boolean
specific_sitemaps: optional array of string

List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'.

use_browser_rendering: optional boolean
parse_type: optional "sitemap" or "feed-rss" or "crawl"
One of the following:
"sitemap"
"feed-rss"
"crawl"
store_options: optional object { storage_id, r2_jurisdiction, storage_type }
storage_id: string
r2_jurisdiction: optional string
storage_type: optional Provider
status: optional string
token_id: optional string
formatuuid
type: optional "r2" or "web-crawler"
One of the following:
"r2"
"web-crawler"
InstanceCreateResponse = object { id, created_at, modified_at, 33 more }
id: string

AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.

maxLength64
minLength1
created_at: string
formatdate-time
modified_at: string
formatdate-time
ai_gateway_id: optional string
ai_search_model: optional "@cf/meta/llama-3.3-70b-instruct-fp8-fast" or "@cf/zai-org/glm-4.7-flash" or "@cf/meta/llama-3.1-8b-instruct-fast" or 25 more
One of the following:
"@cf/meta/llama-3.3-70b-instruct-fp8-fast"
"@cf/zai-org/glm-4.7-flash"
"@cf/meta/llama-3.1-8b-instruct-fast"
"@cf/meta/llama-3.1-8b-instruct-fp8"
"@cf/meta/llama-4-scout-17b-16e-instruct"
"@cf/qwen/qwen3-30b-a3b-fp8"
"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"
"@cf/moonshotai/kimi-k2-instruct"
"@cf/google/gemma-3-12b-it"
"anthropic/claude-3-7-sonnet"
"anthropic/claude-sonnet-4"
"anthropic/claude-opus-4"
"anthropic/claude-3-5-haiku"
"cerebras/qwen-3-235b-a22b-instruct"
"cerebras/qwen-3-235b-a22b-thinking"
"cerebras/llama-3.3-70b"
"cerebras/llama-4-maverick-17b-128e-instruct"
"cerebras/llama-4-scout-17b-16e-instruct"
"cerebras/gpt-oss-120b"
"google-ai-studio/gemini-2.5-flash"
"google-ai-studio/gemini-2.5-pro"
"grok/grok-4"
"groq/llama-3.3-70b-versatile"
"groq/llama-3.1-8b-instant"
"openai/gpt-5"
"openai/gpt-5-mini"
"openai/gpt-5-nano"
""
cache: optional boolean
cache_threshold: optional "super_strict_match" or "close_enough" or "flexible_friend" or "anything_goes"
One of the following:
"super_strict_match"
"close_enough"
"flexible_friend"
"anything_goes"
chunk_overlap: optional number
maximum30
minimum0
chunk_size: optional number
minimum64
created_by: optional string
custom_metadata: optional array of object { data_type, field_name }
data_type: "text" or "number" or "boolean" or "datetime"
One of the following:
"text"
"number"
"boolean"
"datetime"
field_name: string
maxLength64
minLength1
embedding_model: optional "@cf/qwen/qwen3-embedding-0.6b" or "@cf/baai/bge-m3" or "@cf/baai/bge-large-en-v1.5" or 6 more
One of the following:
"@cf/qwen/qwen3-embedding-0.6b"
"@cf/baai/bge-m3"
"@cf/baai/bge-large-en-v1.5"
"@cf/google/embeddinggemma-300m"
"google-ai-studio/gemini-embedding-001"
"google-ai-studio/gemini-embedding-2-preview"
"openai/text-embedding-3-small"
"openai/text-embedding-3-large"
""
enable: optional boolean
engine_version: optional number
fusion_method: optional "max" or "rrf"
One of the following:
"max"
"rrf"
hybrid_search_enabled: optional boolean
indexing_options: optional object { keyword_tokenizer }
keyword_tokenizer: optional "porter" or "trigram"

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.

One of the following:
"porter"
"trigram"
last_activity: optional string
formatdate-time
max_num_results: optional number
maximum50
minimum1
metadata: optional object { created_from_aisearch_wizard, worker_domain }
created_from_aisearch_wizard: optional boolean
worker_domain: optional string
modified_by: optional string
namespace: optional string
maxLength32
minLength1
paused: optional boolean
public_endpoint_id: optional string
public_endpoint_params: optional object { authorized_hosts, chat_completions_endpoint, enabled, 3 more }
authorized_hosts: optional array of string
chat_completions_endpoint: optional object { disabled }
disabled: optional boolean

Disable chat completions endpoint for this public endpoint

enabled: optional boolean
mcp: optional object { description, disabled }
description: optional string
disabled: optional boolean

Disable MCP endpoint for this public endpoint

rate_limit: optional object { period_ms, requests, technique }
period_ms: optional number
maximum3600000
minimum60000
requests: optional number
minimum1
technique: optional "fixed" or "sliding"
One of the following:
"fixed"
"sliding"
search_endpoint: optional object { disabled }
disabled: optional boolean

Disable search endpoint for this public endpoint

reranking: optional boolean
reranking_model: optional "@cf/baai/bge-reranker-base" or ""
One of the following:
"@cf/baai/bge-reranker-base"
""
retrieval_options: optional object { boost_by, keyword_match_mode }
boost_by: optional array of object { field, direction }

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.

maxLength64
minLength1
direction: optional "asc" or "desc" or "exists" or "not_exists"

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.

One of the following:
"asc"
"desc"
"exists"
"not_exists"
keyword_match_mode: optional "and" or "or"

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'. Legacy values 'exact_match' and 'fuzzy_match' are accepted and map to 'and' and 'or' respectively.

One of the following:
"and"
"or"
rewrite_model: optional "@cf/meta/llama-3.3-70b-instruct-fp8-fast" or "@cf/zai-org/glm-4.7-flash" or "@cf/meta/llama-3.1-8b-instruct-fast" or 25 more
One of the following:
"@cf/meta/llama-3.3-70b-instruct-fp8-fast"
"@cf/zai-org/glm-4.7-flash"
"@cf/meta/llama-3.1-8b-instruct-fast"
"@cf/meta/llama-3.1-8b-instruct-fp8"
"@cf/meta/llama-4-scout-17b-16e-instruct"
"@cf/qwen/qwen3-30b-a3b-fp8"
"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"
"@cf/moonshotai/kimi-k2-instruct"
"@cf/google/gemma-3-12b-it"
"anthropic/claude-3-7-sonnet"
"anthropic/claude-sonnet-4"
"anthropic/claude-opus-4"
"anthropic/claude-3-5-haiku"
"cerebras/qwen-3-235b-a22b-instruct"
"cerebras/qwen-3-235b-a22b-thinking"
"cerebras/llama-3.3-70b"
"cerebras/llama-4-maverick-17b-128e-instruct"
"cerebras/llama-4-scout-17b-16e-instruct"
"cerebras/gpt-oss-120b"
"google-ai-studio/gemini-2.5-flash"
"google-ai-studio/gemini-2.5-pro"
"grok/grok-4"
"groq/llama-3.3-70b-versatile"
"groq/llama-3.1-8b-instant"
"openai/gpt-5"
"openai/gpt-5-mini"
"openai/gpt-5-nano"
""
rewrite_query: optional boolean
score_threshold: optional number
maximum1
minimum0
source: optional string
source_params: optional object { exclude_items, include_items, prefix, 2 more }
exclude_items: optional array of 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)

include_items: optional array of 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: optional string
r2_jurisdiction: optional string
web_crawler: optional object { crawl_options, parse_options, parse_type, store_options }
crawl_options: optional object { depth, include_external_links, include_subdomains, 2 more }
depth: optional number
maximum100000
minimum1
include_subdomains: optional boolean
max_age: optional number
maximum604800
minimum0
source: optional "all" or "sitemaps" or "links"
One of the following:
"all"
"sitemaps"
"links"
parse_options: optional object { content_selector, include_headers, include_images, 2 more }
content_selector: optional array of object { path, selector }

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.

path: string

Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories.

maxLength200
selector: string

CSS selector to extract content from pages matching the path pattern. Supports standard CSS selectors including class, ID, element, and attribute selectors.

maxLength200
include_headers: optional map[string]
include_images: optional boolean
specific_sitemaps: optional array of string

List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'.

use_browser_rendering: optional boolean
parse_type: optional "sitemap" or "feed-rss" or "crawl"
One of the following:
"sitemap"
"feed-rss"
"crawl"
store_options: optional object { storage_id, r2_jurisdiction, storage_type }
storage_id: string
r2_jurisdiction: optional string
storage_type: optional Provider
status: optional string
token_id: optional string
formatuuid
type: optional "r2" or "web-crawler"
One of the following:
"r2"
"web-crawler"
InstanceReadResponse = object { id, created_at, modified_at, 33 more }
id: string

AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.

maxLength64
minLength1
created_at: string
formatdate-time
modified_at: string
formatdate-time
ai_gateway_id: optional string
ai_search_model: optional "@cf/meta/llama-3.3-70b-instruct-fp8-fast" or "@cf/zai-org/glm-4.7-flash" or "@cf/meta/llama-3.1-8b-instruct-fast" or 25 more
One of the following:
"@cf/meta/llama-3.3-70b-instruct-fp8-fast"
"@cf/zai-org/glm-4.7-flash"
"@cf/meta/llama-3.1-8b-instruct-fast"
"@cf/meta/llama-3.1-8b-instruct-fp8"
"@cf/meta/llama-4-scout-17b-16e-instruct"
"@cf/qwen/qwen3-30b-a3b-fp8"
"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"
"@cf/moonshotai/kimi-k2-instruct"
"@cf/google/gemma-3-12b-it"
"anthropic/claude-3-7-sonnet"
"anthropic/claude-sonnet-4"
"anthropic/claude-opus-4"
"anthropic/claude-3-5-haiku"
"cerebras/qwen-3-235b-a22b-instruct"
"cerebras/qwen-3-235b-a22b-thinking"
"cerebras/llama-3.3-70b"
"cerebras/llama-4-maverick-17b-128e-instruct"
"cerebras/llama-4-scout-17b-16e-instruct"
"cerebras/gpt-oss-120b"
"google-ai-studio/gemini-2.5-flash"
"google-ai-studio/gemini-2.5-pro"
"grok/grok-4"
"groq/llama-3.3-70b-versatile"
"groq/llama-3.1-8b-instant"
"openai/gpt-5"
"openai/gpt-5-mini"
"openai/gpt-5-nano"
""
cache: optional boolean
cache_threshold: optional "super_strict_match" or "close_enough" or "flexible_friend" or "anything_goes"
One of the following:
"super_strict_match"
"close_enough"
"flexible_friend"
"anything_goes"
chunk_overlap: optional number
maximum30
minimum0
chunk_size: optional number
minimum64
created_by: optional string
custom_metadata: optional array of object { data_type, field_name }
data_type: "text" or "number" or "boolean" or "datetime"
One of the following:
"text"
"number"
"boolean"
"datetime"
field_name: string
maxLength64
minLength1
embedding_model: optional "@cf/qwen/qwen3-embedding-0.6b" or "@cf/baai/bge-m3" or "@cf/baai/bge-large-en-v1.5" or 6 more
One of the following:
"@cf/qwen/qwen3-embedding-0.6b"
"@cf/baai/bge-m3"
"@cf/baai/bge-large-en-v1.5"
"@cf/google/embeddinggemma-300m"
"google-ai-studio/gemini-embedding-001"
"google-ai-studio/gemini-embedding-2-preview"
"openai/text-embedding-3-small"
"openai/text-embedding-3-large"
""
enable: optional boolean
engine_version: optional number
fusion_method: optional "max" or "rrf"
One of the following:
"max"
"rrf"
hybrid_search_enabled: optional boolean
indexing_options: optional object { keyword_tokenizer }
keyword_tokenizer: optional "porter" or "trigram"

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.

One of the following:
"porter"
"trigram"
last_activity: optional string
formatdate-time
max_num_results: optional number
maximum50
minimum1
metadata: optional object { created_from_aisearch_wizard, worker_domain }
created_from_aisearch_wizard: optional boolean
worker_domain: optional string
modified_by: optional string
namespace: optional string
maxLength32
minLength1
paused: optional boolean
public_endpoint_id: optional string
public_endpoint_params: optional object { authorized_hosts, chat_completions_endpoint, enabled, 3 more }
authorized_hosts: optional array of string
chat_completions_endpoint: optional object { disabled }
disabled: optional boolean

Disable chat completions endpoint for this public endpoint

enabled: optional boolean
mcp: optional object { description, disabled }
description: optional string
disabled: optional boolean

Disable MCP endpoint for this public endpoint

rate_limit: optional object { period_ms, requests, technique }
period_ms: optional number
maximum3600000
minimum60000
requests: optional number
minimum1
technique: optional "fixed" or "sliding"
One of the following:
"fixed"
"sliding"
search_endpoint: optional object { disabled }
disabled: optional boolean

Disable search endpoint for this public endpoint

reranking: optional boolean
reranking_model: optional "@cf/baai/bge-reranker-base" or ""
One of the following:
"@cf/baai/bge-reranker-base"
""
retrieval_options: optional object { boost_by, keyword_match_mode }
boost_by: optional array of object { field, direction }

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.

maxLength64
minLength1
direction: optional "asc" or "desc" or "exists" or "not_exists"

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.

One of the following:
"asc"
"desc"
"exists"
"not_exists"
keyword_match_mode: optional "and" or "or"

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'. Legacy values 'exact_match' and 'fuzzy_match' are accepted and map to 'and' and 'or' respectively.

One of the following:
"and"
"or"
rewrite_model: optional "@cf/meta/llama-3.3-70b-instruct-fp8-fast" or "@cf/zai-org/glm-4.7-flash" or "@cf/meta/llama-3.1-8b-instruct-fast" or 25 more
One of the following:
"@cf/meta/llama-3.3-70b-instruct-fp8-fast"
"@cf/zai-org/glm-4.7-flash"
"@cf/meta/llama-3.1-8b-instruct-fast"
"@cf/meta/llama-3.1-8b-instruct-fp8"
"@cf/meta/llama-4-scout-17b-16e-instruct"
"@cf/qwen/qwen3-30b-a3b-fp8"
"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"
"@cf/moonshotai/kimi-k2-instruct"
"@cf/google/gemma-3-12b-it"
"anthropic/claude-3-7-sonnet"
"anthropic/claude-sonnet-4"
"anthropic/claude-opus-4"
"anthropic/claude-3-5-haiku"
"cerebras/qwen-3-235b-a22b-instruct"
"cerebras/qwen-3-235b-a22b-thinking"
"cerebras/llama-3.3-70b"
"cerebras/llama-4-maverick-17b-128e-instruct"
"cerebras/llama-4-scout-17b-16e-instruct"
"cerebras/gpt-oss-120b"
"google-ai-studio/gemini-2.5-flash"
"google-ai-studio/gemini-2.5-pro"
"grok/grok-4"
"groq/llama-3.3-70b-versatile"
"groq/llama-3.1-8b-instant"
"openai/gpt-5"
"openai/gpt-5-mini"
"openai/gpt-5-nano"
""
rewrite_query: optional boolean
score_threshold: optional number
maximum1
minimum0
source: optional string
source_params: optional object { exclude_items, include_items, prefix, 2 more }
exclude_items: optional array of 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)

include_items: optional array of 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: optional string
r2_jurisdiction: optional string
web_crawler: optional object { crawl_options, parse_options, parse_type, store_options }
crawl_options: optional object { depth, include_external_links, include_subdomains, 2 more }
depth: optional number
maximum100000
minimum1
include_subdomains: optional boolean
max_age: optional number
maximum604800
minimum0
source: optional "all" or "sitemaps" or "links"
One of the following:
"all"
"sitemaps"
"links"
parse_options: optional object { content_selector, include_headers, include_images, 2 more }
content_selector: optional array of object { path, selector }

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.

path: string

Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories.

maxLength200
selector: string

CSS selector to extract content from pages matching the path pattern. Supports standard CSS selectors including class, ID, element, and attribute selectors.

maxLength200
include_headers: optional map[string]
include_images: optional boolean
specific_sitemaps: optional array of string

List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'.

use_browser_rendering: optional boolean
parse_type: optional "sitemap" or "feed-rss" or "crawl"
One of the following:
"sitemap"
"feed-rss"
"crawl"
store_options: optional object { storage_id, r2_jurisdiction, storage_type }
storage_id: string
r2_jurisdiction: optional string
storage_type: optional Provider
status: optional string
token_id: optional string
formatuuid
type: optional "r2" or "web-crawler"
One of the following:
"r2"
"web-crawler"
InstanceUpdateResponse = object { id, created_at, modified_at, 33 more }
id: string

AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.

maxLength64
minLength1
created_at: string
formatdate-time
modified_at: string
formatdate-time
ai_gateway_id: optional string
ai_search_model: optional "@cf/meta/llama-3.3-70b-instruct-fp8-fast" or "@cf/zai-org/glm-4.7-flash" or "@cf/meta/llama-3.1-8b-instruct-fast" or 25 more
One of the following:
"@cf/meta/llama-3.3-70b-instruct-fp8-fast"
"@cf/zai-org/glm-4.7-flash"
"@cf/meta/llama-3.1-8b-instruct-fast"
"@cf/meta/llama-3.1-8b-instruct-fp8"
"@cf/meta/llama-4-scout-17b-16e-instruct"
"@cf/qwen/qwen3-30b-a3b-fp8"
"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"
"@cf/moonshotai/kimi-k2-instruct"
"@cf/google/gemma-3-12b-it"
"anthropic/claude-3-7-sonnet"
"anthropic/claude-sonnet-4"
"anthropic/claude-opus-4"
"anthropic/claude-3-5-haiku"
"cerebras/qwen-3-235b-a22b-instruct"
"cerebras/qwen-3-235b-a22b-thinking"
"cerebras/llama-3.3-70b"
"cerebras/llama-4-maverick-17b-128e-instruct"
"cerebras/llama-4-scout-17b-16e-instruct"
"cerebras/gpt-oss-120b"
"google-ai-studio/gemini-2.5-flash"
"google-ai-studio/gemini-2.5-pro"
"grok/grok-4"
"groq/llama-3.3-70b-versatile"
"groq/llama-3.1-8b-instant"
"openai/gpt-5"
"openai/gpt-5-mini"
"openai/gpt-5-nano"
""
cache: optional boolean
cache_threshold: optional "super_strict_match" or "close_enough" or "flexible_friend" or "anything_goes"
One of the following:
"super_strict_match"
"close_enough"
"flexible_friend"
"anything_goes"
chunk_overlap: optional number
maximum30
minimum0
chunk_size: optional number
minimum64
created_by: optional string
custom_metadata: optional array of object { data_type, field_name }
data_type: "text" or "number" or "boolean" or "datetime"
One of the following:
"text"
"number"
"boolean"
"datetime"
field_name: string
maxLength64
minLength1
embedding_model: optional "@cf/qwen/qwen3-embedding-0.6b" or "@cf/baai/bge-m3" or "@cf/baai/bge-large-en-v1.5" or 6 more
One of the following:
"@cf/qwen/qwen3-embedding-0.6b"
"@cf/baai/bge-m3"
"@cf/baai/bge-large-en-v1.5"
"@cf/google/embeddinggemma-300m"
"google-ai-studio/gemini-embedding-001"
"google-ai-studio/gemini-embedding-2-preview"
"openai/text-embedding-3-small"
"openai/text-embedding-3-large"
""
enable: optional boolean
engine_version: optional number
fusion_method: optional "max" or "rrf"
One of the following:
"max"
"rrf"
hybrid_search_enabled: optional boolean
indexing_options: optional object { keyword_tokenizer }
keyword_tokenizer: optional "porter" or "trigram"

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.

One of the following:
"porter"
"trigram"
last_activity: optional string
formatdate-time
max_num_results: optional number
maximum50
minimum1
metadata: optional object { created_from_aisearch_wizard, worker_domain }
created_from_aisearch_wizard: optional boolean
worker_domain: optional string
modified_by: optional string
namespace: optional string
maxLength32
minLength1
paused: optional boolean
public_endpoint_id: optional string
public_endpoint_params: optional object { authorized_hosts, chat_completions_endpoint, enabled, 3 more }
authorized_hosts: optional array of string
chat_completions_endpoint: optional object { disabled }
disabled: optional boolean

Disable chat completions endpoint for this public endpoint

enabled: optional boolean
mcp: optional object { description, disabled }
description: optional string
disabled: optional boolean

Disable MCP endpoint for this public endpoint

rate_limit: optional object { period_ms, requests, technique }
period_ms: optional number
maximum3600000
minimum60000
requests: optional number
minimum1
technique: optional "fixed" or "sliding"
One of the following:
"fixed"
"sliding"
search_endpoint: optional object { disabled }
disabled: optional boolean

Disable search endpoint for this public endpoint

reranking: optional boolean
reranking_model: optional "@cf/baai/bge-reranker-base" or ""
One of the following:
"@cf/baai/bge-reranker-base"
""
retrieval_options: optional object { boost_by, keyword_match_mode }
boost_by: optional array of object { field, direction }

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.

maxLength64
minLength1
direction: optional "asc" or "desc" or "exists" or "not_exists"

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.

One of the following:
"asc"
"desc"
"exists"
"not_exists"
keyword_match_mode: optional "and" or "or"

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'. Legacy values 'exact_match' and 'fuzzy_match' are accepted and map to 'and' and 'or' respectively.

One of the following:
"and"
"or"
rewrite_model: optional "@cf/meta/llama-3.3-70b-instruct-fp8-fast" or "@cf/zai-org/glm-4.7-flash" or "@cf/meta/llama-3.1-8b-instruct-fast" or 25 more
One of the following:
"@cf/meta/llama-3.3-70b-instruct-fp8-fast"
"@cf/zai-org/glm-4.7-flash"
"@cf/meta/llama-3.1-8b-instruct-fast"
"@cf/meta/llama-3.1-8b-instruct-fp8"
"@cf/meta/llama-4-scout-17b-16e-instruct"
"@cf/qwen/qwen3-30b-a3b-fp8"
"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"
"@cf/moonshotai/kimi-k2-instruct"
"@cf/google/gemma-3-12b-it"
"anthropic/claude-3-7-sonnet"
"anthropic/claude-sonnet-4"
"anthropic/claude-opus-4"
"anthropic/claude-3-5-haiku"
"cerebras/qwen-3-235b-a22b-instruct"
"cerebras/qwen-3-235b-a22b-thinking"
"cerebras/llama-3.3-70b"
"cerebras/llama-4-maverick-17b-128e-instruct"
"cerebras/llama-4-scout-17b-16e-instruct"
"cerebras/gpt-oss-120b"
"google-ai-studio/gemini-2.5-flash"
"google-ai-studio/gemini-2.5-pro"
"grok/grok-4"
"groq/llama-3.3-70b-versatile"
"groq/llama-3.1-8b-instant"
"openai/gpt-5"
"openai/gpt-5-mini"
"openai/gpt-5-nano"
""
rewrite_query: optional boolean
score_threshold: optional number
maximum1
minimum0
source: optional string
source_params: optional object { exclude_items, include_items, prefix, 2 more }
exclude_items: optional array of 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)

include_items: optional array of 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: optional string
r2_jurisdiction: optional string
web_crawler: optional object { crawl_options, parse_options, parse_type, store_options }
crawl_options: optional object { depth, include_external_links, include_subdomains, 2 more }
depth: optional number
maximum100000
minimum1
include_subdomains: optional boolean
max_age: optional number
maximum604800
minimum0
source: optional "all" or "sitemaps" or "links"
One of the following:
"all"
"sitemaps"
"links"
parse_options: optional object { content_selector, include_headers, include_images, 2 more }
content_selector: optional array of object { path, selector }

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.

path: string

Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories.

maxLength200
selector: string

CSS selector to extract content from pages matching the path pattern. Supports standard CSS selectors including class, ID, element, and attribute selectors.

maxLength200
include_headers: optional map[string]
include_images: optional boolean
specific_sitemaps: optional array of string

List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'.

use_browser_rendering: optional boolean
parse_type: optional "sitemap" or "feed-rss" or "crawl"
One of the following:
"sitemap"
"feed-rss"
"crawl"
store_options: optional object { storage_id, r2_jurisdiction, storage_type }
storage_id: string
r2_jurisdiction: optional string
storage_type: optional Provider
status: optional string
token_id: optional string
formatuuid
type: optional "r2" or "web-crawler"
One of the following:
"r2"
"web-crawler"
InstanceDeleteResponse = object { id, created_at, modified_at, 33 more }
id: string

AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.

maxLength64
minLength1
created_at: string
formatdate-time
modified_at: string
formatdate-time
ai_gateway_id: optional string
ai_search_model: optional "@cf/meta/llama-3.3-70b-instruct-fp8-fast" or "@cf/zai-org/glm-4.7-flash" or "@cf/meta/llama-3.1-8b-instruct-fast" or 25 more
One of the following:
"@cf/meta/llama-3.3-70b-instruct-fp8-fast"
"@cf/zai-org/glm-4.7-flash"
"@cf/meta/llama-3.1-8b-instruct-fast"
"@cf/meta/llama-3.1-8b-instruct-fp8"
"@cf/meta/llama-4-scout-17b-16e-instruct"
"@cf/qwen/qwen3-30b-a3b-fp8"
"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"
"@cf/moonshotai/kimi-k2-instruct"
"@cf/google/gemma-3-12b-it"
"anthropic/claude-3-7-sonnet"
"anthropic/claude-sonnet-4"
"anthropic/claude-opus-4"
"anthropic/claude-3-5-haiku"
"cerebras/qwen-3-235b-a22b-instruct"
"cerebras/qwen-3-235b-a22b-thinking"
"cerebras/llama-3.3-70b"
"cerebras/llama-4-maverick-17b-128e-instruct"
"cerebras/llama-4-scout-17b-16e-instruct"
"cerebras/gpt-oss-120b"
"google-ai-studio/gemini-2.5-flash"
"google-ai-studio/gemini-2.5-pro"
"grok/grok-4"
"groq/llama-3.3-70b-versatile"
"groq/llama-3.1-8b-instant"
"openai/gpt-5"
"openai/gpt-5-mini"
"openai/gpt-5-nano"
""
cache: optional boolean
cache_threshold: optional "super_strict_match" or "close_enough" or "flexible_friend" or "anything_goes"
One of the following:
"super_strict_match"
"close_enough"
"flexible_friend"
"anything_goes"
chunk_overlap: optional number
maximum30
minimum0
chunk_size: optional number
minimum64
created_by: optional string
custom_metadata: optional array of object { data_type, field_name }
data_type: "text" or "number" or "boolean" or "datetime"
One of the following:
"text"
"number"
"boolean"
"datetime"
field_name: string
maxLength64
minLength1
embedding_model: optional "@cf/qwen/qwen3-embedding-0.6b" or "@cf/baai/bge-m3" or "@cf/baai/bge-large-en-v1.5" or 6 more
One of the following:
"@cf/qwen/qwen3-embedding-0.6b"
"@cf/baai/bge-m3"
"@cf/baai/bge-large-en-v1.5"
"@cf/google/embeddinggemma-300m"
"google-ai-studio/gemini-embedding-001"
"google-ai-studio/gemini-embedding-2-preview"
"openai/text-embedding-3-small"
"openai/text-embedding-3-large"
""
enable: optional boolean
engine_version: optional number
fusion_method: optional "max" or "rrf"
One of the following:
"max"
"rrf"
hybrid_search_enabled: optional boolean
indexing_options: optional object { keyword_tokenizer }
keyword_tokenizer: optional "porter" or "trigram"

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.

One of the following:
"porter"
"trigram"
last_activity: optional string
formatdate-time
max_num_results: optional number
maximum50
minimum1
metadata: optional object { created_from_aisearch_wizard, worker_domain }
created_from_aisearch_wizard: optional boolean
worker_domain: optional string
modified_by: optional string
namespace: optional string
maxLength32
minLength1
paused: optional boolean
public_endpoint_id: optional string
public_endpoint_params: optional object { authorized_hosts, chat_completions_endpoint, enabled, 3 more }
authorized_hosts: optional array of string
chat_completions_endpoint: optional object { disabled }
disabled: optional boolean

Disable chat completions endpoint for this public endpoint

enabled: optional boolean
mcp: optional object { description, disabled }
description: optional string
disabled: optional boolean

Disable MCP endpoint for this public endpoint

rate_limit: optional object { period_ms, requests, technique }
period_ms: optional number
maximum3600000
minimum60000
requests: optional number
minimum1
technique: optional "fixed" or "sliding"
One of the following:
"fixed"
"sliding"
search_endpoint: optional object { disabled }
disabled: optional boolean

Disable search endpoint for this public endpoint

reranking: optional boolean
reranking_model: optional "@cf/baai/bge-reranker-base" or ""
One of the following:
"@cf/baai/bge-reranker-base"
""
retrieval_options: optional object { boost_by, keyword_match_mode }
boost_by: optional array of object { field, direction }

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.

maxLength64
minLength1
direction: optional "asc" or "desc" or "exists" or "not_exists"

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.

One of the following:
"asc"
"desc"
"exists"
"not_exists"
keyword_match_mode: optional "and" or "or"

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'. Legacy values 'exact_match' and 'fuzzy_match' are accepted and map to 'and' and 'or' respectively.

One of the following:
"and"
"or"
rewrite_model: optional "@cf/meta/llama-3.3-70b-instruct-fp8-fast" or "@cf/zai-org/glm-4.7-flash" or "@cf/meta/llama-3.1-8b-instruct-fast" or 25 more
One of the following:
"@cf/meta/llama-3.3-70b-instruct-fp8-fast"
"@cf/zai-org/glm-4.7-flash"
"@cf/meta/llama-3.1-8b-instruct-fast"
"@cf/meta/llama-3.1-8b-instruct-fp8"
"@cf/meta/llama-4-scout-17b-16e-instruct"
"@cf/qwen/qwen3-30b-a3b-fp8"
"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b"
"@cf/moonshotai/kimi-k2-instruct"
"@cf/google/gemma-3-12b-it"
"anthropic/claude-3-7-sonnet"
"anthropic/claude-sonnet-4"
"anthropic/claude-opus-4"
"anthropic/claude-3-5-haiku"
"cerebras/qwen-3-235b-a22b-instruct"
"cerebras/qwen-3-235b-a22b-thinking"
"cerebras/llama-3.3-70b"
"cerebras/llama-4-maverick-17b-128e-instruct"
"cerebras/llama-4-scout-17b-16e-instruct"
"cerebras/gpt-oss-120b"
"google-ai-studio/gemini-2.5-flash"
"google-ai-studio/gemini-2.5-pro"
"grok/grok-4"
"groq/llama-3.3-70b-versatile"
"groq/llama-3.1-8b-instant"
"openai/gpt-5"
"openai/gpt-5-mini"
"openai/gpt-5-nano"
""
rewrite_query: optional boolean
score_threshold: optional number
maximum1
minimum0
source: optional string
source_params: optional object { exclude_items, include_items, prefix, 2 more }
exclude_items: optional array of 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)

include_items: optional array of 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: optional string
r2_jurisdiction: optional string
web_crawler: optional object { crawl_options, parse_options, parse_type, store_options }
crawl_options: optional object { depth, include_external_links, include_subdomains, 2 more }
depth: optional number
maximum100000
minimum1
include_subdomains: optional boolean
max_age: optional number
maximum604800
minimum0
source: optional "all" or "sitemaps" or "links"
One of the following:
"all"
"sitemaps"
"links"
parse_options: optional object { content_selector, include_headers, include_images, 2 more }
content_selector: optional array of object { path, selector }

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.

path: string

Glob pattern to match against the page URL path. Uses standard glob syntax: * matches within a segment, ** crosses directories.

maxLength200
selector: string

CSS selector to extract content from pages matching the path pattern. Supports standard CSS selectors including class, ID, element, and attribute selectors.

maxLength200
include_headers: optional map[string]
include_images: optional boolean
specific_sitemaps: optional array of string

List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'.

use_browser_rendering: optional boolean
parse_type: optional "sitemap" or "feed-rss" or "crawl"
One of the following:
"sitemap"
"feed-rss"
"crawl"
store_options: optional object { storage_id, r2_jurisdiction, storage_type }
storage_id: string
r2_jurisdiction: optional string
storage_type: optional Provider
status: optional string
token_id: optional string
formatuuid
type: optional "r2" or "web-crawler"
One of the following:
"r2"
"web-crawler"
InstanceStatsResponse = object { completed, error, file_embed_errors, 6 more }
completed: optional number
error: optional number
file_embed_errors: optional map[unknown]
index_source_errors: optional map[unknown]
last_activity: optional string
formatdate-time
outdated: optional number
queued: optional number
running: optional number
skipped: optional number
InstanceSearchResponse = object { chunks, search_query }
chunks: array of object { id, score, text, 3 more }
id: string
score: number
maximum1
minimum0
text: string
type: string
item: optional object { key, metadata, timestamp }
key: string
metadata: optional map[unknown]
timestamp: optional number
scoring_details: optional object { fusion_method, keyword_rank, keyword_score, 3 more }
fusion_method: optional "rrf" or "max"
One of the following:
"rrf"
"max"
keyword_rank: optional number
keyword_score: optional number
minimum0
reranking_score: optional number
maximum1
minimum0
vector_rank: optional number
vector_score: optional number
maximum1
minimum0
search_query: string
InstanceChatCompletionsResponse = object { choices, chunks, id, 2 more }
choices: array of object { message, index }
message: object { content, role }
content: string
role: "system" or "developer" or "user" or 2 more
One of the following:
"system"
"developer"
"user"
"assistant"
"tool"
index: optional number
chunks: array of object { id, score, text, 3 more }
id: string
score: number
maximum1
minimum0
text: string
type: string
item: optional object { key, metadata, timestamp }
key: string
metadata: optional map[unknown]
timestamp: optional number
scoring_details: optional object { fusion_method, keyword_rank, keyword_score, 3 more }
fusion_method: optional "rrf" or "max"
One of the following:
"rrf"
"max"
keyword_rank: optional number
keyword_score: optional number
minimum0
reranking_score: optional number
maximum1
minimum0
vector_rank: optional number
vector_score: optional number
maximum1
minimum0
id: optional string
model: optional string
object: optional string

InstancesItems

InstancesJobs

List Jobs
GET/accounts/{account_id}/ai-search/instances/{id}/jobs
Create new job
POST/accounts/{account_id}/ai-search/instances/{id}/jobs
Get a Job Details
GET/accounts/{account_id}/ai-search/instances/{id}/jobs/{job_id}
List Job Logs
GET/accounts/{account_id}/ai-search/instances/{id}/jobs/{job_id}/logs
ModelsExpand Collapse
JobListResponse = object { id, source, description, 4 more }
id: string
source: "user" or "schedule"
One of the following:
"user"
"schedule"
description: optional string
end_reason: optional string
ended_at: optional string
last_seen_at: optional string
started_at: optional string
JobCreateResponse = object { id, source, description, 4 more }
id: string
source: "user" or "schedule"
One of the following:
"user"
"schedule"
description: optional string
end_reason: optional string
ended_at: optional string
last_seen_at: optional string
started_at: optional string
JobGetResponse = object { id, source, description, 4 more }
id: string
source: "user" or "schedule"
One of the following:
"user"
"schedule"
description: optional string
end_reason: optional string
ended_at: optional string
last_seen_at: optional string
started_at: optional string
JobLogsResponse = array of object { id, created_at, message, message_type }
id: number
created_at: number
message: string
message_type: number