---
title: "Set Workspace Web Search Config"
method: PUT
path: "/v1/workspaces/{workspace_id}/web-search"
tags: ["workspace-web-search"]
---

# Set Workspace Web Search Config

`PUT /v1/workspaces/{workspace_id}/web-search`

Set a workspace's web-search configuration, replacing any existing one.

An organization owner/admin, or an owner/admin of this workspace, may write
it. The configuration can only narrow what the deployment permits: turning
web search off for the workspace, lowering the result ceiling, and adding to
the domains a search may not reach. It never turns on a backend the
deployment has not configured, and it carries no credential.

## Path parameters

- `workspace_id` string, uuid, required

## Request body

- WorkspaceWebSearchConfigUpdate — The configuration to store for a workspace, as a whole. ``PUT`` semantics, ported from the hosted ``WorkspaceWebSearchConfigUpdate``: what is sent is what the workspace has afterwards, so an omitted field is cleared rather than left as it was.
  - `allowed_domains` string[], nullable — Results are kept only from these domains; intersected with any list the request sends
  - `blocked_domains` string[], nullable — Results from these domains are dropped; added to any list the request sends
  - `enabled` boolean, required — False refuses web search for this workspace, both the otari_web_search tool and POST /v1/search. The fields below narrow the tool only.
  - `max_results` integer, nullable — Ceiling on results one search returns; only ever lowers the effective limit, so at most 20
  - `provider_options` object, nullable — Provider-specific knobs forwarded to the search backend; a request's own keys win
  - `purpose_hint` string, nullable — Hint used when a request declares otari_web_search without one of its own

## Response `200`

Successful Response

- WorkspaceWebSearchConfigPublic — A workspace's web-search configuration, or the unconfigured one it has without a row.
  - `allowed_domains` string[], nullable, required
  - `blocked_domains` string[], nullable, required
  - `configured` boolean, required
  - `created_at` string, nullable, required
  - `enabled` boolean, required
  - `max_results` integer, nullable, required
  - `provider_options` object, nullable, required
  - `purpose_hint` string, nullable, required
  - `updated_at` string, nullable, required
  - `web_search_configured` boolean, required
  - `workspace_id` string, uuid, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-24** `96084f27845e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/mozilla-ai/apis/otari/changes/v1/workspaces/:workspace_id/web-search/put.md)

---

[API](https://skmtc.dev/mozilla-ai/apis/otari.md) · [All operations](https://skmtc.dev/mozilla-ai/apis/otari/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mozilla-ai/otari/revisions/1a5cf829e593/schema)
