POST /v1/responses
Web search is a tool entry in the tools array. Per-request allow lists use OpenAI’s native tools_options.web_search.filters.
Request
web_search, web_search_preview, web_search_2025_08_26, web_search_preview_2025_03_11.
With an allow list (OpenAI native shape)
http:// / https:// prefixes.
| Filter | OpenAI native | Honored by abliteration.ai |
|---|---|---|
tools_options.web_search.filters.include_domains | Yes | Yes |
Block list (exclude_domains) | Not in OpenAI spec | Only via Policy Gateway project-level |
Forced search and lifecycle events
When combined withtool_choice={"type": "required"}, the search fires before the model starts. The stream emits five lifecycle events up front:
Project-level enforcement
Project-level allow/block lists configured via Policy Gateway cap the request:- Allow: request
include_domains⊆ projectallowed_domains. A request asking for a domain outside the project list returns400. - Block: project
blocked_domainsalways applied (OpenAI has no per-request block shape; the project list is the only way to exclude domains on this surface).
