{"command":{"effect":"write","timeoutSeconds":30,"inputSchema":{"type":"object","description":"Create a namespace for organizing AI Search instances.","properties":{"path":{"type":"object","properties":{"account_id":{"type":"string","examples":["c3dc5f0b34a14ff8e1b3ec04895e1b22"]}},"required":["account_id"],"additionalProperties":false},"body":{"type":"object","properties":{"description":{"description":"Optional description for the namespace. Max 256 characters.","type":["string","null"],"maxLength":256,"examples":["Production environment"]},"name":{"type":"string","pattern":"^[a-z0-9]([a-z0-9-]{0,26}[a-z0-9])?$"},"public_endpoint_params":{"type":"object","properties":{"authorized_hosts":{"type":"array","items":{"type":"string"}},"chat_completions_endpoint":{"type":"object","properties":{"disabled":{"description":"Disable chat completions endpoint for this public endpoint.","type":"boolean","default":false}}},"custom_domains":{"description":"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).","type":["array","null"],"items":{"description":"Custom domain hostname. Must belong to a Verified zone on this account.","maxLength":253,"minLength":1,"type":"string","examples":["search.example.com"]},"maxItems":1},"default_domain_enabled":{"description":"When false, the instance is reachable only via a registered custom domain and the default <public_endpoint_id>.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.","type":"boolean","default":true},"enabled":{"type":"boolean","default":false},"instances_allowed":{"description":"Instance IDs exposed through the namespace public endpoint. Empty means nothing is searchable. Every ID must reference an existing instance in this namespace, and the list must stay within the account's multi-instance search limit.","type":"array","items":{"description":"AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.","maxLength":64,"minLength":1,"pattern":"^[a-z0-9_]+(?:-[a-z0-9_]+)*$","type":"string","examples":["my-ai-search"]},"default":[],"maxItems":10,"examples":[["docs","blog"]]},"mcp":{"type":"object","properties":{"description":{"type":"string","default":"Finds exactly what you're looking for"},"disabled":{"description":"Disable MCP endpoint for this public endpoint.","type":"boolean","default":false}}},"rate_limit":{"type":"object","properties":{"period_ms":{"type":"integer","maximum":3600000,"minimum":60000},"requests":{"type":"integer","minimum":1},"technique":{"type":"string","enum":["fixed","sliding"]}}},"search_endpoint":{"type":"object","properties":{"disabled":{"description":"Disable search endpoint for this public endpoint.","type":"boolean","default":false}}}}}},"required":["name"]}},"required":["path"],"additionalProperties":false},"name":"Create a namespace","id":"cloudflare.ai-search-create-namespace","example":{"path":{"account_id":"c3dc5f0b34a14ff8e1b3ec04895e1b22"}},"maxRequests":1,"summary":false}}