---
title: Update an AI Search instance (Search for Agents metadata requires the default namespace).
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/python)

[AI Search](https://developers.cloudflare.com/api/python/resources/ai_search)

[Instances](https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# Update an AI Search instance (Search for Agents metadata requires the default namespace).

Deprecated

aisearch.instances.update(strid, InstanceUpdateParams\*\*kwargs) -> [InstanceUpdateResponse](<https://developers.cloudflare.com/api/python/resources/ai_search#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)>)

PUT/accounts/{account\_id}/ai-search/instances/{id}

Update an AI Search instance. Submitting Search for Agents metadata requires the default namespace; omitting or removing it is allowed elsewhere. Submit Search for Agents metadata and restrictive or unknown public endpoint changes or custom domains in separate PUT requests, even when resubmitting unchanged metadata.

Deprecated: use /accounts/{account\_id}/ai-search/namespaces/{name}/instances (and descendant paths) instead.

##### Security

<details>

<summary>API Token</summary>



The preferred authorization scheme for interacting with the Cloudflare API. <a href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/">Create a token</a>.

**Example:**<code>Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY</code>

</details>

<details>

<summary>API Email + API Key</summary>



The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

**Example:**<code>X-Auth-Email: user@example.com</code>

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

**Example:**<code>X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194</code>

</details>

##### ParametersExpand Collapse

account\_id: str

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20account_id%20%3E%20(schema)>)

id: str

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20id%20%3E%20(schema)>)

ai\_gateway\_id: Optional\[str]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20ai_gateway_id%20%3E%20(schema)>)

aisearch\_model: Optional\[str]

A Workers AI model ID or an AI Gateway model ID compatible with the OpenAI Chat Completions API. An empty string uses the configured or default model.

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20ai_search_model%20%3E%20(schema)>)

cache: Optional\[[bool](<https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache%20%3E%20(schema)>)]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache%20%3E%20(schema)>)

<details>

<summary>

cache\_threshold: Optional\[Literal\["super\_strict\_match", "close\_enough", "flexible\_friend", "anything\_goes"]]

</summary>

One of the following:

"super\_strict\_match"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_threshold%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

"close\_enough"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_threshold%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

"flexible\_friend"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_threshold%20%3E%20(schema)%20%3E%20(member)%202">Link to this property</a>

"anything\_goes"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_threshold%20%3E%20(schema)%20%3E%20(member)%203">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_threshold%20%3E%20(schema)>)

<details>

<summary>

cache\_ttl: Optional\[Literal\[600, 1800, 3600, 7 more]]

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).

</summary>

One of the following:

600

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

1800

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

3600

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)%20%3E%20(member)%202">Link to this property</a>

7200

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)%20%3E%20(member)%203">Link to this property</a>

21600

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)%20%3E%20(member)%204">Link to this property</a>

43200

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)%20%3E%20(member)%205">Link to this property</a>

86400

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)%20%3E%20(member)%206">Link to this property</a>

172800

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)%20%3E%20(member)%207">Link to this property</a>

259200

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)%20%3E%20(member)%208">Link to this property</a>

518400

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)%20%3E%20(member)%209">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20cache_ttl%20%3E%20(schema)>)

chunk: Optional\[[bool](<https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20chunk%20%3E%20(schema)>)]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20chunk%20%3E%20(schema)>)

chunk\_overlap: Optional\[int]

maximum30

minimum0

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20chunk_overlap%20%3E%20(schema)>)

chunk\_size: Optional\[int]

minimum64

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20chunk_size%20%3E%20(schema)>)

<details>

<summary>

custom\_metadata: Optional\[Iterable\[CustomMetadata]]

</summary>

<details>

<summary>

data\_type: Literal\["text", "number", "boolean", "datetime"]

</summary>

One of the following:

"text"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20custom_metadata%20%3E%20(schema)%20%3E%20(items)%20%3E%20(property)%20data_type%20%3E%20(member)%200">Link to this property</a>

"number"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20custom_metadata%20%3E%20(schema)%20%3E%20(items)%20%3E%20(property)%20data_type%20%3E%20(member)%201">Link to this property</a>

"boolean"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20custom_metadata%20%3E%20(schema)%20%3E%20(items)%20%3E%20(property)%20data_type%20%3E%20(member)%202">Link to this property</a>

"datetime"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20custom_metadata%20%3E%20(schema)%20%3E%20(items)%20%3E%20(property)%20data_type%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20custom_metadata%20%3E%20(schema)%20%3E%20(items)%20%3E%20(property)%20data_type">Link to this property</a>

field\_name: str

maxLength64

minLength1

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20custom_metadata%20%3E%20(schema)%20%3E%20(items)%20%3E%20(property)%20field_name">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20custom_metadata%20%3E%20(schema)>)

embedding\_model: Optional\[str]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20embedding_model%20%3E%20(schema)>)

<details>

<summary>

fusion\_method: Optional\[Literal\["max", "rrf"]]

</summary>

One of the following:

"max"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20fusion_method%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

"rrf"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20fusion_method%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20fusion_method%20%3E%20(schema)>)

<details>

<summary>

index\_method: Optional\[<a href="https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20index_method%20%3E%20(schema)">IndexMethod</a>]

Controls which storage backends are used during indexing. Defaults to vector and keyword indexing for new instances.

</summary>

keyword: bool

Enable keyword (BM25) storage backend.

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20index_method%20%3E%20(schema)%20%3E%20(property)%20keyword">Link to this property</a>

vector: bool

Enable vector (embedding) storage backend.

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20index_method%20%3E%20(schema)%20%3E%20(property)%20vector">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20index_method%20%3E%20(schema)>)

<details>

<summary>

indexing\_options: Optional\[<a href="https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20indexing_options%20%3E%20(schema)">IndexingOptions</a>]

</summary>

<details>

<summary>

keyword\_tokenizer: Optional\[Literal\["porter", "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.

</summary>

One of the following:

"porter"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20indexing_options%20%3E%20(schema)%20%3E%20(property)%20keyword_tokenizer%20%3E%20(member)%200">Link to this property</a>

"trigram"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20indexing_options%20%3E%20(schema)%20%3E%20(property)%20keyword_tokenizer%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20indexing_options%20%3E%20(schema)%20%3E%20(property)%20keyword_tokenizer">Link to this property</a>

use\_ocr: Optional\[bool]

Enables OCR ingestion for PDFs and images. Changing this triggers a full re-index. Defaults to false.

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20indexing_options%20%3E%20(schema)%20%3E%20(property)%20use_ocr">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20indexing_options%20%3E%20(schema)>)

max\_num\_results: Optional\[int]

maximum50

minimum1

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20max_num_results%20%3E%20(schema)>)

<details>

<summary>

metadata: Optional\[<a href="https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20metadata%20%3E%20(schema)">Metadata</a>]

</summary>

created\_from\_aisearch\_wizard: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20metadata%20%3E%20(schema)%20%3E%20(property)%20created_from_aisearch_wizard">Link to this property</a>

worker\_domain: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20metadata%20%3E%20(schema)%20%3E%20(property)%20worker_domain">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20metadata%20%3E%20(schema)>)

paused: Optional\[[bool](<https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20paused%20%3E%20(schema)>)]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20paused%20%3E%20(schema)>)

<details>

<summary>

public\_endpoint\_params: Optional\[<a href="https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)">PublicEndpointParams</a>]

</summary>

authorized\_hosts: Optional\[Sequence\[str]]

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20authorized_hosts">Link to this property</a>

<details>

<summary>

chat\_completions\_endpoint: Optional\[PublicEndpointParamsChatCompletionsEndpoint]

</summary>

disabled: Optional\[bool]

Disable chat completions endpoint for this public endpoint

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20chat_completions_endpoint%20%3E%20(property)%20disabled">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20chat_completions_endpoint">Link to this property</a>

custom\_domains: Optional\[Sequence\[str]]

Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged).

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20custom_domains">Link to this property</a>

default\_domain\_enabled: Optional\[bool]

When false, the instance is reachable only via a registered custom domain and the default &lt;public\_endpoint\_id&gt;.search.ai.cloudflare.com host returns 404. Requires at least one custom domain. Defaults to true. public\_endpoint\_params is replaced wholesale on update, so resend default\_domain\_enabled on every update to keep the default host off — omitting it resets to true.

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20default_domain_enabled">Link to this property</a>

enabled: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20enabled">Link to this property</a>

<details>

<summary>

mcp: Optional\[PublicEndpointParamsMcp]

</summary>

description: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20mcp%20%3E%20(property)%20description">Link to this property</a>

disabled: Optional\[bool]

Disable MCP endpoint for this public endpoint

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20mcp%20%3E%20(property)%20disabled">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20mcp">Link to this property</a>

<details>

<summary>

rate\_limit: Optional\[PublicEndpointParamsRateLimit]

</summary>

period\_ms: Optional\[int]

maximum3600000

minimum60000

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20rate_limit%20%3E%20(property)%20period_ms">Link to this property</a>

requests: Optional\[int]

minimum1

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20rate_limit%20%3E%20(property)%20requests">Link to this property</a>

<details>

<summary>

technique: Optional\[Literal\["fixed", "sliding"]]

</summary>

One of the following:

"fixed"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20rate_limit%20%3E%20(property)%20technique%20%3E%20(member)%200">Link to this property</a>

"sliding"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20rate_limit%20%3E%20(property)%20technique%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20rate_limit%20%3E%20(property)%20technique">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20rate_limit">Link to this property</a>

<details>

<summary>

search\_endpoint: Optional\[PublicEndpointParamsSearchEndpoint]

</summary>

disabled: Optional\[bool]

Disable search endpoint for this public endpoint

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20search_endpoint%20%3E%20(property)%20disabled">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)%20%3E%20(property)%20search_endpoint">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20public_endpoint_params%20%3E%20(schema)>)

reranking: Optional\[[bool](<https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20reranking%20%3E%20(schema)>)]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20reranking%20%3E%20(schema)>)

reranking\_model: Optional\[str]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20reranking_model%20%3E%20(schema)>)

<details>

<summary>

retrieval\_options: Optional\[<a href="https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)">RetrievalOptions</a>]

</summary>

<details>

<summary>

boost\_by: Optional\[Iterable\[RetrievalOptionsBoostBy]]

Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to ‘asc’ for numeric/datetime fields and ‘exists’ for text/boolean fields. Fields must match ‘timestamp’ or a defined custom\_metadata field.

</summary>

field: str

Metadata field name to boost by. Use ‘timestamp’ for document freshness, or any custom\_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not\_exists); text/boolean fields only support exists/not\_exists.

maxLength64

minLength1

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20field">Link to this property</a>

<details>

<summary>

direction: Optional\[Literal\["asc", "desc", "exists", "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.

</summary>

One of the following:

"asc"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20direction%20%3E%20(member)%200">Link to this property</a>

"desc"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20direction%20%3E%20(member)%201">Link to this property</a>

"exists"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20direction%20%3E%20(member)%202">Link to this property</a>

"not\_exists"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20direction%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20direction">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)%20%3E%20(property)%20boost_by">Link to this property</a>

<details>

<summary>

keyword\_match\_mode: Optional\[Literal\["and", "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. When omitted on an update, the existing stored value is preserved; when never set, search falls back to ‘and’.

</summary>

One of the following:

"and"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)%20%3E%20(property)%20keyword_match_mode%20%3E%20(member)%200">Link to this property</a>

"or"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)%20%3E%20(property)%20keyword_match_mode%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)%20%3E%20(property)%20keyword_match_mode">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20retrieval_options%20%3E%20(schema)>)

rewrite\_model: Optional\[str]

A Workers AI model ID or an AI Gateway model ID compatible with the OpenAI Chat Completions API. An empty string uses the configured or default model.

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20rewrite_model%20%3E%20(schema)>)

rewrite\_query: Optional\[[bool](<https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20rewrite_query%20%3E%20(schema)>)]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20rewrite_query%20%3E%20(schema)>)

score\_threshold: Optional\[float]

maximum1

minimum0

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20score_threshold%20%3E%20(schema)>)

source: Optional\[str]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source%20%3E%20(schema)>)

<details>

<summary>

source\_params: Optional\[<a href="https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)">SourceParams</a>]

</summary>

exclude\_items: Optional\[Sequence\[str]]

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). Most accounts are limited to 10 rules; contact support to raise it.

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20exclude_items">Link to this property</a>

include\_items: Optional\[Sequence\[str]]

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). Most accounts are limited to 10 rules; contact support to raise it.

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20include_items">Link to this property</a>

prefix: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20prefix">Link to this property</a>

r2\_jurisdiction: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20r2_jurisdiction">Link to this property</a>

<details>

<summary>

web\_crawler: Optional\[SourceParamsWebCrawler]

</summary>

<details>

<summary>

discover\_options: Optional\[SourceParamsWebCrawlerDiscoverOptions]

Options for parse\_type ‘discover’, where Browser Run discovers URLs by link following and sitemaps. Ignored for ‘sitemap’.

</summary>

depth: Optional\[float]

Maximum link-follow depth from the seed URL.

maximum100000

minimum1

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20depth">Link to this property</a>

include\_external\_links: Optional\[bool]

Follow links that point outside the source domain. Must stay <code>false</code> — discover crawls are restricted to the zone you own.

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20include_external_links">Link to this property</a>

include\_subdomains: Optional\[bool]

Follow links to subdomains of the source host.

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20include_subdomains">Link to this property</a>

limit: Optional\[float]

Maximum number of pages to crawl (1-100000).

maximum100000

minimum1

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20limit">Link to this property</a>

max\_age: Optional\[float]

Maximum content age in seconds to accept (0–604800).

maximum604800

minimum0

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20max_age">Link to this property</a>

<details>

<summary>

source: Optional\[Literal\["all", "sitemaps", "links"]]

Where the crawler looks for URLs: ‘sitemaps’ reads sitemap XML only, ‘links’ follows page links only, ‘all’ does both.

</summary>

One of the following:

"all"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20source%20%3E%20(member)%200">Link to this property</a>

"sitemaps"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20source%20%3E%20(member)%201">Link to this property</a>

"links"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20source%20%3E%20(member)%202">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20source">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options">Link to this property</a>

<details>

<summary>

parse\_options: Optional\[SourceParamsWebCrawlerParseOptions]

</summary>

<details>

<summary>

content\_selector: Optional\[Iterable\[SourceParamsWebCrawlerParseOptionsContentSelector]]

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.

</summary>

path: str

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

maxLength200

minLength1

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20content_selector%20%3E%20(items)%20%3E%20(property)%20path">Link to this property</a>

selector: str

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.

maxLength200

minLength1

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20content_selector%20%3E%20(items)%20%3E%20(property)%20selector">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20content_selector">Link to this property</a>

include\_headers: Optional\[Dict\[str, str]]

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).

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20include_headers">Link to this property</a>

include\_images: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20include_images">Link to this property</a>

specific\_sitemaps: Optional\[Sequence\[str]]

List of specific sitemap URLs to use for crawling. Only valid when parse\_type is ‘sitemap’.

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20specific_sitemaps">Link to this property</a>

use\_browser\_rendering: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20use_browser_rendering">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options">Link to this property</a>

<details>

<summary>

parse\_type: Optional\[Literal\["sitemap", "discover"]]

How URLs are discovered. ‘sitemap’ reads XML sitemaps; ‘discover’ follows links recursively and requires the source to be a Verified zone on this account.

</summary>

One of the following:

"sitemap"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_type%20%3E%20(member)%200">Link to this property</a>

"discover"

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_type%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_type">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)%20%3E%20(property)%20web_crawler">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20source_params%20%3E%20(schema)>)

summarization: Optional\[[bool](<https://developers.cloudflare.com/api/python/resources/ai_search/subresources/instances/methods/update#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20summarization%20%3E%20(schema)>)]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20summarization%20%3E%20(schema)>)

summarization\_model: Optional\[str]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20summarization_model%20%3E%20(schema)>)

<details>

<summary>

sync\_interval: Optional\[Literal\[900, 1800, 3600, 5 more]]

Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h).

</summary>

One of the following:

900

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20sync_interval%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

1800

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20sync_interval%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

3600

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20sync_interval%20%3E%20(schema)%20%3E%20(member)%202">Link to this property</a>

7200

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20sync_interval%20%3E%20(schema)%20%3E%20(member)%203">Link to this property</a>

14400

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20sync_interval%20%3E%20(schema)%20%3E%20(member)%204">Link to this property</a>

21600

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20sync_interval%20%3E%20(schema)%20%3E%20(member)%205">Link to this property</a>

43200

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20sync_interval%20%3E%20(schema)%20%3E%20(member)%206">Link to this property</a>

86400

<a href="#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20sync_interval%20%3E%20(schema)%20%3E%20(member)%207">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20sync_interval%20%3E%20(schema)>)

system\_prompt\_aisearch: Optional\[str]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20system_prompt_ai_search%20%3E%20(schema)>)

system\_prompt\_index\_summarization: Optional\[str]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20system_prompt_index_summarization%20%3E%20(schema)>)

system\_prompt\_rewrite\_query: Optional\[str]

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20system_prompt_rewrite_query%20%3E%20(schema)>)

token\_id: Optional\[str]

formatuuid

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(method)%20update%20%3E%20(params)%20default%20%3E%20(param)%20token_id%20%3E%20(schema)>)

##### ReturnsExpand Collapse

<details>

<summary>

class InstanceUpdateResponse: …

</summary>

id: str

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

maxLength64

minLength1

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

created\_at: datetime

formatdate-time

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20created_at">Link to this property</a>

modified\_at: datetime

formatdate-time

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20modified_at">Link to this property</a>

ai\_gateway\_id: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20ai_gateway_id">Link to this property</a>

aisearch\_model: Optional\[str]

A Workers AI model ID or an AI Gateway model ID compatible with the OpenAI Chat Completions API. An empty string uses the configured or default model.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20ai_search_model">Link to this property</a>

cache: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache">Link to this property</a>

<details>

<summary>

cache\_threshold: Optional\[Literal\["super\_strict\_match", "close\_enough", "flexible\_friend", "anything\_goes"]]

</summary>

One of the following:

"super\_strict\_match"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_threshold%20%3E%20(member)%200">Link to this property</a>

"close\_enough"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_threshold%20%3E%20(member)%201">Link to this property</a>

"flexible\_friend"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_threshold%20%3E%20(member)%202">Link to this property</a>

"anything\_goes"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_threshold%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_threshold">Link to this property</a>

<details>

<summary>

cache\_ttl: Optional\[Literal\[600, 1800, 3600, 7 more]]

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).

</summary>

One of the following:

600

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl%20%3E%20(member)%200">Link to this property</a>

1800

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl%20%3E%20(member)%201">Link to this property</a>

3600

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl%20%3E%20(member)%202">Link to this property</a>

7200

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl%20%3E%20(member)%203">Link to this property</a>

21600

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl%20%3E%20(member)%204">Link to this property</a>

43200

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl%20%3E%20(member)%205">Link to this property</a>

86400

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl%20%3E%20(member)%206">Link to this property</a>

172800

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl%20%3E%20(member)%207">Link to this property</a>

259200

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl%20%3E%20(member)%208">Link to this property</a>

518400

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl%20%3E%20(member)%209">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20cache_ttl">Link to this property</a>

chunk\_overlap: Optional\[int]

maximum30

minimum0

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20chunk_overlap">Link to this property</a>

chunk\_size: Optional\[int]

minimum64

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20chunk_size">Link to this property</a>

created\_by: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20created_by">Link to this property</a>

<details>

<summary>

custom\_metadata: Optional\[List\[CustomMetadata]]

</summary>

<details>

<summary>

data\_type: Literal\["text", "number", "boolean", "datetime"]

</summary>

One of the following:

"text"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20custom_metadata%20%3E%20(items)%20%3E%20(property)%20data_type%20%3E%20(member)%200">Link to this property</a>

"number"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20custom_metadata%20%3E%20(items)%20%3E%20(property)%20data_type%20%3E%20(member)%201">Link to this property</a>

"boolean"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20custom_metadata%20%3E%20(items)%20%3E%20(property)%20data_type%20%3E%20(member)%202">Link to this property</a>

"datetime"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20custom_metadata%20%3E%20(items)%20%3E%20(property)%20data_type%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20custom_metadata%20%3E%20(items)%20%3E%20(property)%20data_type">Link to this property</a>

field\_name: str

maxLength64

minLength1

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20custom_metadata%20%3E%20(items)%20%3E%20(property)%20field_name">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20custom_metadata">Link to this property</a>

embedding\_model: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20embedding_model">Link to this property</a>

enable: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20enable">Link to this property</a>

engine\_version: Optional\[float]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20engine_version">Link to this property</a>

<details>

<summary>

fusion\_method: Optional\[Literal\["max", "rrf"]]

</summary>

One of the following:

"max"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20fusion_method%20%3E%20(member)%200">Link to this property</a>

"rrf"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20fusion_method%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20fusion_method">Link to this property</a>

Deprecatedhybrid\_search\_enabled: Optional\[bool]

Deprecated — use index\_method instead. Defaults to true for new instances; set false to create a vector-only instance.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20hybrid_search_enabled">Link to this property</a>

<details>

<summary>

index\_method: Optional\[IndexMethod]

Controls which storage backends are used during indexing. Defaults to vector and keyword indexing for new instances.

</summary>

keyword: bool

Enable keyword (BM25) storage backend.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20index_method%20%3E%20(property)%20keyword">Link to this property</a>

vector: bool

Enable vector (embedding) storage backend.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20index_method%20%3E%20(property)%20vector">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20index_method">Link to this property</a>

<details>

<summary>

indexing\_options: Optional\[IndexingOptions]

</summary>

<details>

<summary>

keyword\_tokenizer: Optional\[Literal\["porter", "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.

</summary>

One of the following:

"porter"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20indexing_options%20%3E%20(property)%20keyword_tokenizer%20%3E%20(member)%200">Link to this property</a>

"trigram"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20indexing_options%20%3E%20(property)%20keyword_tokenizer%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20indexing_options%20%3E%20(property)%20keyword_tokenizer">Link to this property</a>

use\_ocr: Optional\[bool]

Enables OCR ingestion for PDFs and images. Changing this triggers a full re-index. Defaults to false.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20indexing_options%20%3E%20(property)%20use_ocr">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20indexing_options">Link to this property</a>

last\_activity: Optional\[datetime]

formatdate-time

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20last_activity">Link to this property</a>

max\_num\_results: Optional\[int]

maximum50

minimum1

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20max_num_results">Link to this property</a>

<details>

<summary>

metadata: Optional\[Metadata]

</summary>

created\_from\_aisearch\_wizard: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20metadata%20%3E%20(property)%20created_from_aisearch_wizard">Link to this property</a>

worker\_domain: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20metadata%20%3E%20(property)%20worker_domain">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20metadata">Link to this property</a>

modified\_by: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20modified_by">Link to this property</a>

namespace: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20namespace">Link to this property</a>

paused: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20paused">Link to this property</a>

public\_endpoint\_id: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_id">Link to this property</a>

<details>

<summary>

public\_endpoint\_params: Optional\[PublicEndpointParams]

</summary>

authorized\_hosts: Optional\[List\[str]]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20authorized_hosts">Link to this property</a>

<details>

<summary>

chat\_completions\_endpoint: Optional\[PublicEndpointParamsChatCompletionsEndpoint]

</summary>

disabled: Optional\[bool]

Disable chat completions endpoint for this public endpoint

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20chat_completions_endpoint%20%3E%20(property)%20disabled">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20chat_completions_endpoint">Link to this property</a>

custom\_domains: Optional\[List\[str]]

Custom domain hostnames that alias this public endpoint. GET and create responses return the current set; on update (PUT) this field is only echoed back when supplied in the request body, otherwise it is null (omit it to leave domains unchanged).

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20custom_domains">Link to this property</a>

default\_domain\_enabled: Optional\[bool]

When false, the instance is reachable only via a registered custom domain and the default &lt;public\_endpoint\_id&gt;.search.ai.cloudflare.com host returns 404. Requires at least one custom domain. Defaults to true. public\_endpoint\_params is replaced wholesale on update, so resend default\_domain\_enabled on every update to keep the default host off — omitting it resets to true.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20default_domain_enabled">Link to this property</a>

enabled: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20enabled">Link to this property</a>

<details>

<summary>

mcp: Optional\[PublicEndpointParamsMcp]

</summary>

description: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20mcp%20%3E%20(property)%20description">Link to this property</a>

disabled: Optional\[bool]

Disable MCP endpoint for this public endpoint

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20mcp%20%3E%20(property)%20disabled">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20mcp">Link to this property</a>

<details>

<summary>

rate\_limit: Optional\[PublicEndpointParamsRateLimit]

</summary>

period\_ms: Optional\[int]

maximum3600000

minimum60000

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20rate_limit%20%3E%20(property)%20period_ms">Link to this property</a>

requests: Optional\[int]

minimum1

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20rate_limit%20%3E%20(property)%20requests">Link to this property</a>

<details>

<summary>

technique: Optional\[Literal\["fixed", "sliding"]]

</summary>

One of the following:

"fixed"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20rate_limit%20%3E%20(property)%20technique%20%3E%20(member)%200">Link to this property</a>

"sliding"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20rate_limit%20%3E%20(property)%20technique%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20rate_limit%20%3E%20(property)%20technique">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20rate_limit">Link to this property</a>

<details>

<summary>

search\_endpoint: Optional\[PublicEndpointParamsSearchEndpoint]

</summary>

disabled: Optional\[bool]

Disable search endpoint for this public endpoint

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20search_endpoint%20%3E%20(property)%20disabled">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params%20%3E%20(property)%20search_endpoint">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20public_endpoint_params">Link to this property</a>

reranking: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20reranking">Link to this property</a>

reranking\_model: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20reranking_model">Link to this property</a>

<details>

<summary>

retrieval\_options: Optional\[RetrievalOptions]

</summary>

<details>

<summary>

boost\_by: Optional\[List\[RetrievalOptionsBoostBy]]

Metadata fields to boost search results by. Each entry specifies a metadata field and an optional direction. Direction defaults to ‘asc’ for numeric/datetime fields and ‘exists’ for text/boolean fields. Fields must match ‘timestamp’ or a defined custom\_metadata field.

</summary>

field: str

Metadata field name to boost by. Use ‘timestamp’ for document freshness, or any custom\_metadata field. Numeric and datetime fields support all four directions (asc, desc, exists, not\_exists); text/boolean fields only support exists/not\_exists.

maxLength64

minLength1

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20field">Link to this property</a>

<details>

<summary>

direction: Optional\[Literal\["asc", "desc", "exists", "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.

</summary>

One of the following:

"asc"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20direction%20%3E%20(member)%200">Link to this property</a>

"desc"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20direction%20%3E%20(member)%201">Link to this property</a>

"exists"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20direction%20%3E%20(member)%202">Link to this property</a>

"not\_exists"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20direction%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options%20%3E%20(property)%20boost_by%20%3E%20(items)%20%3E%20(property)%20direction">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options%20%3E%20(property)%20boost_by">Link to this property</a>

<details>

<summary>

keyword\_match\_mode: Optional\[Literal\["and", "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. When omitted on an update, the existing stored value is preserved; when never set, search falls back to ‘and’.

</summary>

One of the following:

"and"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options%20%3E%20(property)%20keyword_match_mode%20%3E%20(member)%200">Link to this property</a>

"or"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options%20%3E%20(property)%20keyword_match_mode%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options%20%3E%20(property)%20keyword_match_mode">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20retrieval_options">Link to this property</a>

rewrite\_model: Optional\[str]

A Workers AI model ID or an AI Gateway model ID compatible with the OpenAI Chat Completions API. An empty string uses the configured or default model.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20rewrite_model">Link to this property</a>

rewrite\_query: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20rewrite_query">Link to this property</a>

score\_threshold: Optional\[float]

maximum1

minimum0

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20score_threshold">Link to this property</a>

source: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source">Link to this property</a>

<details>

<summary>

source\_params: Optional\[SourceParams]

</summary>

exclude\_items: Optional\[List\[str]]

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). Most accounts are limited to 10 rules; contact support to raise it.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20exclude_items">Link to this property</a>

include\_items: Optional\[List\[str]]

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). Most accounts are limited to 10 rules; contact support to raise it.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20include_items">Link to this property</a>

prefix: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20prefix">Link to this property</a>

r2\_jurisdiction: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20r2_jurisdiction">Link to this property</a>

<details>

<summary>

web\_crawler: Optional\[SourceParamsWebCrawler]

</summary>

<details>

<summary>

discover\_options: Optional\[SourceParamsWebCrawlerDiscoverOptions]

Options for parse\_type ‘discover’, where Browser Run discovers URLs by link following and sitemaps. Ignored for ‘sitemap’.

</summary>

depth: Optional\[float]

Maximum link-follow depth from the seed URL.

maximum100000

minimum1

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20depth">Link to this property</a>

include\_external\_links: Optional\[bool]

Follow links that point outside the source domain. Must stay <code>false</code> — discover crawls are restricted to the zone you own.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20include_external_links">Link to this property</a>

include\_subdomains: Optional\[bool]

Follow links to subdomains of the source host.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20include_subdomains">Link to this property</a>

limit: Optional\[float]

Maximum number of pages to crawl (1-100000).

maximum100000

minimum1

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20limit">Link to this property</a>

max\_age: Optional\[float]

Maximum content age in seconds to accept (0–604800).

maximum604800

minimum0

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20max_age">Link to this property</a>

<details>

<summary>

source: Optional\[Literal\["all", "sitemaps", "links"]]

Where the crawler looks for URLs: ‘sitemaps’ reads sitemap XML only, ‘links’ follows page links only, ‘all’ does both.

</summary>

One of the following:

"all"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20source%20%3E%20(member)%200">Link to this property</a>

"sitemaps"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20source%20%3E%20(member)%201">Link to this property</a>

"links"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20source%20%3E%20(member)%202">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options%20%3E%20(property)%20source">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20discover_options">Link to this property</a>

<details>

<summary>

parse\_options: Optional\[SourceParamsWebCrawlerParseOptions]

</summary>

<details>

<summary>

content\_selector: Optional\[List\[SourceParamsWebCrawlerParseOptionsContentSelector]]

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.

</summary>

path: str

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

maxLength200

minLength1

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20content_selector%20%3E%20(items)%20%3E%20(property)%20path">Link to this property</a>

selector: str

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.

maxLength200

minLength1

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20content_selector%20%3E%20(items)%20%3E%20(property)%20selector">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20content_selector">Link to this property</a>

include\_headers: Optional\[Dict\[str, str]]

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).

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20include_headers">Link to this property</a>

include\_images: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20include_images">Link to this property</a>

specific\_sitemaps: Optional\[List\[str]]

List of specific sitemap URLs to use for crawling. Only valid when parse\_type is ‘sitemap’.

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20specific_sitemaps">Link to this property</a>

use\_browser\_rendering: Optional\[bool]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options%20%3E%20(property)%20use_browser_rendering">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_options">Link to this property</a>

<details>

<summary>

parse\_type: Optional\[Literal\["sitemap", "discover"]]

How URLs are discovered. ‘sitemap’ reads XML sitemaps; ‘discover’ follows links recursively and requires the source to be a Verified zone on this account.

</summary>

One of the following:

"sitemap"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_type%20%3E%20(member)%200">Link to this property</a>

"discover"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_type%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler%20%3E%20(property)%20parse_type">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params%20%3E%20(property)%20web_crawler">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20source_params">Link to this property</a>

status: Optional\[str]

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20status">Link to this property</a>

<details>

<summary>

sync\_interval: Optional\[Literal\[900, 1800, 3600, 5 more]]

Interval between automatic syncs, in seconds. Allowed values: 900 (15min), 1800 (30min), 3600 (1h), 7200 (2h), 14400 (4h), 21600 (6h), 43200 (12h), 86400 (24h).

</summary>

One of the following:

900

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20sync_interval%20%3E%20(member)%200">Link to this property</a>

1800

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20sync_interval%20%3E%20(member)%201">Link to this property</a>

3600

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20sync_interval%20%3E%20(member)%202">Link to this property</a>

7200

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20sync_interval%20%3E%20(member)%203">Link to this property</a>

14400

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20sync_interval%20%3E%20(member)%204">Link to this property</a>

21600

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20sync_interval%20%3E%20(member)%205">Link to this property</a>

43200

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20sync_interval%20%3E%20(member)%206">Link to this property</a>

86400

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20sync_interval%20%3E%20(member)%207">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20sync_interval">Link to this property</a>

token\_id: Optional\[str]

formatuuid

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20token_id">Link to this property</a>

<details>

<summary>

type: Optional\[Literal\["r2", "web-crawler"]]

Source type. When omitted or null with a non-blank source, HTTP(S) URLs infer web-crawler and existing R2 bucket names infer r2. A missing or blank source without a type uses managed upload-only storage.

</summary>

One of the following:

"r2"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20type%20%3E%20(member)%200">Link to this property</a>

"web-crawler"

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20type%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)%20%3E%20(property)%20type">Link to this property</a>

</details>

[Link to this property](<#(resource)%20ai_search.instances%20%3E%20(model)%20instance_update_response%20%3E%20(schema)>)

### Update an AI Search instance (Search for Agents metadata requires the default namespace).

Python

HTTPTypeScriptPythonGoTerraform

```
import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
instance = client.aisearch.instances.update(
    id="my-ai-search",
    account_id="c3dc5f0b34a14ff8e1b3ec04895e1b22",
)
print(instance.id)
```

200 example

```
{
  "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": "ai_search_model",
    "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": "embedding_model",
    "enable": true,
    "engine_version": 0,
    "fusion_method": "max",
    "hybrid_search_enabled": true,
    "index_method": {
      "keyword": true,
      "vector": true
    },
    "indexing_options": {
      "keyword_tokenizer": "porter",
      "use_ocr": true
    },
    "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
      },
      "custom_domains": [
        "search.example.com"
      ],
      "default_domain_enabled": 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": "reranking_model",
    "retrieval_options": {
      "boost_by": [
        {
          "field": "timestamp",
          "direction": "desc"
        }
      ],
      "keyword_match_mode": "and"
    },
    "rewrite_model": "rewrite_model",
    "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": {
        "discover_options": {
          "depth": 5,
          "include_external_links": false,
          "include_subdomains": false,
          "limit": 10000,
          "max_age": 86400,
          "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"
      }
    },
    "status": "status",
    "sync_interval": 900,
    "token_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "type": "r2"
  },
  "success": true
}
```

##### Returns Examples

200 example

```
{
  "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": "ai_search_model",
    "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": "embedding_model",
    "enable": true,
    "engine_version": 0,
    "fusion_method": "max",
    "hybrid_search_enabled": true,
    "index_method": {
      "keyword": true,
      "vector": true
    },
    "indexing_options": {
      "keyword_tokenizer": "porter",
      "use_ocr": true
    },
    "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
      },
      "custom_domains": [
        "search.example.com"
      ],
      "default_domain_enabled": 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": "reranking_model",
    "retrieval_options": {
      "boost_by": [
        {
          "field": "timestamp",
          "direction": "desc"
        }
      ],
      "keyword_match_mode": "and"
    },
    "rewrite_model": "rewrite_model",
    "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": {
        "discover_options": {
          "depth": 5,
          "include_external_links": false,
          "include_subdomains": false,
          "limit": 10000,
          "max_age": 86400,
          "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"
      }
    },
    "status": "status",
    "sync_interval": 900,
    "token_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "type": "r2"
  },
  "success": true
}
```