Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One capture · api

One read of Claude Developer Platformapi-20261011T193717Z

3 pages moved out of 760 read.

Pages moved 3 significant first
Pages read 760 in this capture
Captured 19:37 UTC
Corpus hash 21e8f23e5902 corpus-hash

What this read moved

1-3 of 3

manage-claude/api-and-data-retention Changed · +37 / -37 lines

from line 165
165165* **Yes (qualified):** Your prompts and Claude's outputs are not stored, but a bounded technical artifact (named in the Details column) is retained briefly for the feature to function. See [How Anthropic approaches data retention](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#how-anthropic-approaches-data-retention) for the commitments that govern these features.
166166* **No:** The feature is not eligible. Under HIPAA readiness, the API blocks requests that include a "No" feature and returns a `400` error, unless the feature's Details column says otherwise. Under ZDR, the API does **not** block these features; using one is a choice to step outside your ZDR arrangement for that specific data, and the feature's own documented retention policy applies. Features marked "No" for ZDR are typically stateful (they store jobs, files, or container state), which is why they cannot be zero-retention.
167167 
168| Feature | Endpoint | ZDR eligible | HIPAA eligible | Details |
169| -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | ------------------------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
170| [1M token context window](https://platform.claude.com/docs/en/build-with-claude/context-windows) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
171| [Adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
172| [Advisor tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool) | `/v1/messages` (with `advisor` tool) | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Advisor model output is returned in the API response; nothing is stored server-side after the response. |
173| [Agent skills](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview) | `/v1/messages` (with `skills`) / `/v1/skills` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Skill data retained per standard policy. See [Agent skills](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview#data-retention). |
174| [Bash tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/bash-tool) | `/v1/messages` (with `bash` tool) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Client-side tool executed in your environment. |
175| [Batch processing](https://platform.claude.com/docs/en/build-with-claude/batch-processing) | `/v1/messages/batches` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | 29-day retention; async storage required. See [Batch processing](https://platform.claude.com/docs/en/build-with-claude/batch-processing#data-retention). |
176| [Browser use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/browser-use-tool) | `/v1/messages` (with `browser` toolset) | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Client-side tool. Anthropic does not run browser actions or retain page content beyond standard API handling. Not covered under HIPAA readiness; requests that include the browser use tool are not blocked. See [Browser use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/browser-use-tool#data-retention). |
177| [Cache diagnostics](https://platform.claude.com/docs/en/build-with-claude/cache-diagnostics) | `/v1/messages` (with `diagnostics`) | <Eligible status="qualified">Yes (qualified)</Eligible> | <Eligible status="no">No</Eligible> | Your prompts and Claude's outputs are not stored. A fingerprint of cryptographic hashes and token-count estimates is retained briefly to enable comparison against the next request. See [Cache diagnostics](https://platform.claude.com/docs/en/build-with-claude/cache-diagnostics#data-retention). |
178| [Citations](https://platform.claude.com/docs/en/build-with-claude/citations) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
179| [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) | `/v1/agents`, `/v1/sessions`, `/v1/environments` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Sessions are stateful resources; transcripts persist until you delete them. Applies to all Managed Agents sub-features, including [Self-hosted sandboxes](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes). |
180| [Code execution](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool) | `/v1/messages` (with `code_execution` tool) | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Container data retained up to 30 days. See [Code execution](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool#data-retention). |
181| [Computer use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool) | `/v1/messages` (with `computer` toolset or tool) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Client-side tool where screenshots and files are captured and stored in your environment, not by Anthropic. See [Computer use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#data-retention). |
182| [Context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) | `/v1/messages` (with `context_management`) | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Context edits (tool use clearing and thinking clearing) are applied in real time. |
183| [Context management (compaction)](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold) | `/v1/messages` (with `context_management`) | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Server-side compaction results are returned and round-tripped statelessly through the API response. |
184| [Data residency](https://platform.claude.com/docs/en/manage-claude/data-residency) | `/v1/messages` (with `inference_geo`) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
185| [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) | `/v1/messages` (with `effort`) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
186| [Fast mode](https://platform.claude.com/docs/en/build-with-claude/fast-mode) | `/v1/messages` (with `speed: "fast"`) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Same Messages API endpoint with faster inference. ZDR applies regardless of speed setting. |
187| [Files API](https://platform.claude.com/docs/en/build-with-claude/files) | `/v1/files` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Files retained until explicitly deleted or they reach their configured expiration. See [Files API](https://platform.claude.com/docs/en/build-with-claude/files#data-retention). |
188| [Fine-grained tool streaming](https://platform.claude.com/docs/en/agents-and-tools/tool-use/fine-grained-tool-streaming) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
189| [MCP connector](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector) | `/v1/messages` (with `mcp_servers`) | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Data retained per standard policy. See [MCP connector](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector#data-retention). |
190| [MCP tunnels](https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/overview) | `/v1/tunnels` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Research preview. See [MCP tunnels security](https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/security) for the data-flow boundary and subprocessor details. |
191| [Memory tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/memory-tool) | `/v1/messages` (with `memory` tool) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Client-side memory storage where you control data retention. |
192| [Messages API](https://platform.claude.com/docs/en/build-with-claude/working-with-messages) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Standard API calls for generating Claude responses. |
193| [Mid-conversation system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) | `/v1/messages` (with `role: "system"` messages) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Request-shape capability of the Messages API; mid-conversation system messages flow through the standard inference path and nothing is stored server-side after the response. |
194| [PDF support](https://platform.claude.com/docs/en/build-with-claude/pdf-support) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | HIPAA eligibility applies to PDFs sent inline through the Messages API, not through the Files API. |
195| [Programmatic tool calling](https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling) | `/v1/messages` (with `code_execution` tool) | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Built on code execution containers; data retained up to 30 days. See [Programmatic tool calling](https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling#data-retention). |
196| [Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Your prompts and Claude's outputs are not stored. KV cache representations and cryptographic hashes are held in memory for the cache TTL and promptly deleted after expiry. See [Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#data-retention). |
197| [Search results](https://platform.claude.com/docs/en/build-with-claude/search-results) | `/v1/messages` (with `search_results` source) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
198| [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | `/v1/messages` | <Eligible status="qualified">Yes (qualified)</Eligible> | <Eligible>Yes</Eligible> | Your prompts and Claude's outputs are not stored. Only the JSON schema is cached, for up to 24 hours since last use. This also covers [strict tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/strict-tool-use) (`strict: true` on tools), which uses the same grammar pipeline. PHI must not be included in JSON schema definitions; see [PHI handling guidelines](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#phi-handling-guidelines). See [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#data-retention). |
199| [Text editor tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/text-editor-tool) | `/v1/messages` (with `text_editor` tool) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Client-side tool executed in your environment. |
200| [Thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) | `/v1/messages` (with `thinking`) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
201| [Token counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) | `/v1/messages/count_tokens` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Count tokens before sending requests. |
202| [Tool search](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool) | `/v1/messages` (with `tool_search` tool) | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Server-side tool executed by Anthropic; the tool definitions in the request are searched in memory per call and nothing is stored after the response. |
203| [Web fetch](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool) | `/v1/messages` (with `web_fetch` tool) | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Fetched web content returned in the API response. [Dynamic filtering](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#dynamic-filtering) is not eligible for ZDR or HIPAA. Website publishers may retain request data (such as fetched URLs and request metadata) according to their own policies. |
204| [Web search](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) | `/v1/messages` (with `web_search` tool) | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Real-time web search results returned in the API response. [Dynamic filtering](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool#dynamic-filtering) is not eligible for ZDR or HIPAA. |
168| Feature | Endpoint | ZDR eligible | HIPAA eligible | Details |
169| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
170| [1M token context window](https://platform.claude.com/docs/en/build-with-claude/context-windows) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
171| [Adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
172| [Advisor tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool) | `/v1/messages` with `advisor` tool | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Advisor model output is returned in the API response; nothing is stored server-side after the response. |
173| [Agent skills](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview) | `/v1/skills` `/v1/messages` with `skills` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Skill data retained per standard policy. See [Agent skills](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview#data-retention). |
174| [Bash tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/bash-tool) | `/v1/messages` with `bash` tool | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Client-side tool executed in your environment. |
175| [Batch processing](https://platform.claude.com/docs/en/build-with-claude/batch-processing) | `/v1/messages/batches` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | 29-day retention; async storage required. See [Batch processing](https://platform.claude.com/docs/en/build-with-claude/batch-processing#data-retention). |
176| [Browser use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/browser-use-tool) | `/v1/messages` with `browser` toolset | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Client-side tool. Anthropic does not run browser actions or retain page content beyond standard API handling. Not covered under HIPAA readiness; requests that include the browser use tool are not blocked. See [Browser use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/browser-use-tool#data-retention). |
177| [Cache diagnostics](https://platform.claude.com/docs/en/build-with-claude/cache-diagnostics) | `/v1/messages` with `diagnostics` | <Eligible status="qualified">Yes (qualified)</Eligible> | <Eligible status="no">No</Eligible> | Your prompts and Claude's outputs are not stored. A fingerprint of cryptographic hashes and token-count estimates is retained briefly to enable comparison against the next request. See [Cache diagnostics](https://platform.claude.com/docs/en/build-with-claude/cache-diagnostics#data-retention). |
178| [Citations](https://platform.claude.com/docs/en/build-with-claude/citations) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
179| [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) | `/v1/agents` `/v1/sessions` `/v1/environments` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Sessions are stateful resources; transcripts persist until you delete them. Applies to all Managed Agents sub-features, including [Self-hosted sandboxes](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes). |
180| [Code execution](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool) | `/v1/messages` with `code_execution` tool | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Container data retained up to 30 days. See [Code execution](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool#data-retention). |
181| [Computer use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool) | `/v1/messages` with `computer` toolset or tool | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Client-side tool where screenshots and files are captured and stored in your environment, not by Anthropic. See [Computer use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#data-retention). |
182| [Context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) | `/v1/messages` with `context_management` | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Context edits (tool use clearing and thinking clearing) are applied in real time. |
183| [Context management (compaction)](https://platform.claude.com/docs/en/build-with-claude/compaction-threshold) | `/v1/messages` with `context_management` | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Server-side compaction results are returned and round-tripped statelessly through the API response. |
184| [Data residency](https://platform.claude.com/docs/en/manage-claude/data-residency) | `/v1/messages` with `inference_geo` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
185| [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) | `/v1/messages` with `effort` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
186| [Fast mode](https://platform.claude.com/docs/en/build-with-claude/fast-mode) | `/v1/messages` with `speed: "fast"` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Same Messages API endpoint with faster inference. ZDR applies regardless of speed setting. |
187| [Files API](https://platform.claude.com/docs/en/build-with-claude/files) | `/v1/files` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Files retained until explicitly deleted or they reach their configured expiration. See [Files API](https://platform.claude.com/docs/en/build-with-claude/files#data-retention). |
188| [Fine-grained tool streaming](https://platform.claude.com/docs/en/agents-and-tools/tool-use/fine-grained-tool-streaming) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
189| [MCP connector](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector) | `/v1/messages` with `mcp_servers` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Data retained per standard policy. See [MCP connector](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector#data-retention). |
190| [MCP tunnels](https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/overview) | `/v1/tunnels` | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Research preview. See [MCP tunnels security](https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/security) for the data-flow boundary and subprocessor details. |
191| [Memory tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/memory-tool) | `/v1/messages` with `memory` tool | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Client-side memory storage where you control data retention. |
192| [Messages API](https://platform.claude.com/docs/en/build-with-claude/working-with-messages) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Standard API calls for generating Claude responses. |
193| [Mid-conversation system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) | `/v1/messages` with `role: "system"` messages | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Request-shape capability of the Messages API; mid-conversation system messages flow through the standard inference path and nothing is stored server-side after the response. |
194| [PDF support](https://platform.claude.com/docs/en/build-with-claude/pdf-support) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | HIPAA eligibility applies to PDFs sent inline through the Messages API, not through the Files API. |
195| [Programmatic tool calling](https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling) | `/v1/messages` with `code_execution` tool | <Eligible status="no">No</Eligible> | <Eligible status="no">No</Eligible> | Built on code execution containers; data retained up to 30 days. See [Programmatic tool calling](https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling#data-retention). |
196| [Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) | `/v1/messages` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Your prompts and Claude's outputs are not stored. KV cache representations and cryptographic hashes are held in memory for the cache TTL and promptly deleted after expiry. See [Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#data-retention). |
197| [Search results](https://platform.claude.com/docs/en/build-with-claude/search-results) | `/v1/messages` with `search_results` source | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
198| [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | `/v1/messages` | <Eligible status="qualified">Yes (qualified)</Eligible> | <Eligible>Yes</Eligible> | Your prompts and Claude's outputs are not stored. Only the JSON schema is cached, for up to 24 hours since last use. This also covers [strict tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/strict-tool-use) (`strict: true` on tools), which uses the same grammar pipeline. PHI must not be included in JSON schema definitions; see [PHI handling guidelines](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#phi-handling-guidelines). See [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#data-retention). |
199| [Text editor tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/text-editor-tool) | `/v1/messages` with `text_editor` tool | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Client-side tool executed in your environment. |
200| [Thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) | `/v1/messages` with `thinking` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | |
201| [Token counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) | `/v1/messages/count_tokens` | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Count tokens before sending requests. |
202| [Tool search](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool) | `/v1/messages` with `tool_search` tool | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Server-side tool executed by Anthropic; the tool definitions in the request are searched in memory per call and nothing is stored after the response. |
203| [Web fetch](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool) | `/v1/messages` with `web_fetch` tool | <Eligible>Yes</Eligible> | <Eligible status="no">No</Eligible> | Fetched web content returned in the API response. [Dynamic filtering](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#dynamic-filtering) is not eligible for ZDR or HIPAA. Website publishers may retain request data (such as fetched URLs and request metadata) according to their own policies. |
204| [Web search](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) | `/v1/messages` with `web_search` tool | <Eligible>Yes</Eligible> | <Eligible>Yes</Eligible> | Real-time web search results returned in the API response. [Dynamic filtering](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool#dynamic-filtering) is not eligible for ZDR or HIPAA. |
205205 
206206## Retention regardless of arrangement
207207 

managed-agents/scheduled-deployments Changed · +131 / -15 lines

from line 272
272272 
273273The following example sets a budget on an existing deployment:
274274 
275```bash cURL
276curl --fail-with-body -sS "https://api.anthropic.com/v1/deployments/$DEPLOYMENT_ID?beta=true" \
277 -H "x-api-key: $ANTHROPIC_API_KEY" \
278 -H "anthropic-version: 2023-06-01" \
279 -H "anthropic-beta: managed-agents-2026-04-01" \
280 -H "content-type: application/json" \
281 -d @- <<'EOF'
282{
283 "budget": {
284 "type": "limit",
285 "max_list_cost": {"amount": "2000", "currency": "USD"}
275<CodeGroup defaultLanguage="CLI">
276 ```bash cURL
277 curl --fail-with-body -sS "https://api.anthropic.com/v1/deployments/$DEPLOYMENT_ID?beta=true" \
278 -H "x-api-key: $ANTHROPIC_API_KEY" \
279 -H "anthropic-version: 2023-06-01" \
280 -H "anthropic-beta: managed-agents-2026-04-01" \
281 -H "content-type: application/json" \
282 -d @- <<'EOF'
283 {
284 "budget": {
285 "type": "limit",
286 "max_list_cost": {"amount": "2000", "currency": "USD"}
287 }
286288 }
287}
288EOF
289```
289 EOF
290 ```
291 
292 <CodeGroupItem>
293 ```bash CLI
294 ant apply deployment.md
295 ```
296 
297 <File filename="deployment.md">
298 ```markdown
299 ---
300 name: Weekly compliance scan
301 agent: agent_011CYm1BLqPXpQRk5khsSXrs
302 environment_id: env_01595EKxaaTTGwwY3kyXdtbs
303 schedule:
304 type: cron
305 expression: "0 20 * * 5"
306 timezone: America/New_York
307 budget:
308 type: limit
309 max_list_cost:
310 amount: "2000"
311 currency: USD
312 ---
313 
314 Run the weekly compliance scan.
315 ```
316 </File>
317 </CodeGroupItem>
318 
319 ```python Python
320 updated_deployment = client.beta.deployments.update(
321 deployment.id,
322 budget={
323 "type": "limit",
324 "max_list_cost": {"amount": "2000", "currency": "USD"},
325 },
326 )
327 print(updated_deployment.budget.max_list_cost.amount) # 2000
328 ```
329 
330 ```typescript TypeScript
331 const updatedDeployment = await client.beta.deployments.update(deployment.id, {
332 budget: {
333 type: "limit",
334 max_list_cost: { amount: "2000", currency: "USD" },
335 },
336 });
337 console.log(updatedDeployment.budget?.max_list_cost.amount); // 2000
338 ```
339 
340 ```csharp C#
341 var updatedDeployment = await client.Beta.Deployments.Update(deployment.ID, new()
342 {
343 Budget = new()
344 {
345 Type = BetaManagedAgentsBudgetLimitType.Limit,
346 MaxListCost = new() { Amount = "2000", Currency = BetaCurrency.Usd },
347 },
348 });
349 Console.WriteLine(updatedDeployment.Budget?.MaxListCost.Amount); // 2000
350 ```
351 
352 ```go Go
353 updatedDeployment, err := client.Beta.Deployments.Update(ctx, deployment.ID, anthropic.BetaDeploymentUpdateParams{
354 Budget: anthropic.BetaManagedAgentsBudgetLimitParam{
355 Type: anthropic.BetaManagedAgentsBudgetLimitTypeLimit,
356 MaxListCost: anthropic.BetaMonetaryAmountParam{
357 Amount: "2000",
358 Currency: anthropic.BetaCurrencyUsd,
359 },
360 },
361 })
362 if err != nil {
363 panic(err)
364 }
365 fmt.Println(updatedDeployment.Budget.MaxListCost.Amount) // 2000
366 ```
367 
368 ```java Java
369 var updatedDeployment = client.beta().deployments().update(
370 deployment.id(),
371 DeploymentUpdateParams.builder()
372 .budget(BetaManagedAgentsBudgetLimit.builder()
373 .type(BetaManagedAgentsBudgetLimit.Type.LIMIT)
374 .maxListCost(BetaMonetaryAmount.builder()
375 .amount("2000")
376 .currency(BetaCurrency.USD)
377 .build())
378 .build())
379 .build()
380 );
381 IO.println(updatedDeployment.budget().orElseThrow().maxListCost().amount()); // 2000
382 ```
383 
384 ```php PHP
385 $updatedDeployment = $client->beta->deployments->update(
386 $deployment->id,
387 budget: [
388 'type' => 'limit',
389 'max_list_cost' => ['amount' => '2000', 'currency' => 'USD'],
390 ],
391 );
392 echo "{$updatedDeployment->budget->maxListCost->amount}\n"; // 2000
393 ```
394 
395 ```ruby Ruby
396 updated_deployment = client.beta.deployments.update(
397 deployment.id,
398 budget: {
399 type: "limit",
400 max_list_cost: {amount: "2000", currency: "USD"}
401 }
402 )
403 puts updated_deployment.budget.max_list_cost.amount # 2000
404 ```
405</CodeGroup>
290406 
291407## Deployment runs
292408 

managed-agents/sessions Changed · +128 / -21 lines

from line 800
800800 
801801### Set a session budget
802802 
803To cap what a session can spend, pass the optional `budget` object when you create it. A budget is a hard ceiling on the session's list cost: the platform prices everything the session consumes at public list rates, and the session stops issuing new model requests once that running total reaches `max_list_cost`. Set `type` to `limit` and give `max_list_cost` an `amount` and a `currency`. `amount` is a whole number of US cents written as a string, such as `"2500"` for $25.00; the API takes a string rather than a number so no floating-point rounding is ever applied. `USD` is the only currency currently supported. When the session reaches the cap, it pauses and goes idle with the stop reason `budget_reached`. The cap is enforced between model requests, so the request that crosses it finishes first and the session's final list cost can land [a fraction past the cap](https://platform.claude.com/docs/en/managed-agents/budgets#when-a-session-reaches-its-budget). A budget can only be attached at creation: you can [change or remove](https://platform.claude.com/docs/en/managed-agents/session-operations#updating-the-session-budget) it later, but you can't add one to a session created without it.
803To cap what a session can spend, pass the optional `budget` object when you create it. A budget is a hard ceiling on the session's list cost: the platform prices everything the session consumes at public list rates, and the session stops issuing new model requests once that running total reaches `max_list_cost`. Set `type` to `limit` and give `max_list_cost` an `amount` and a `currency`. `amount` is a whole number of US cents written as a string, such as `"125"` for $1.25. The API takes a string rather than a number so no floating-point rounding is ever applied. `USD` is the only currency currently supported. When the session reaches the cap, it pauses and goes idle with the stop reason `budget_reached`. The cap is enforced between model requests, so the request that crosses it finishes first and the session's final list cost can land [a fraction past the cap](https://platform.claude.com/docs/en/managed-agents/budgets#when-a-session-reaches-its-budget). A budget can only be attached at creation: you can [change or remove](https://platform.claude.com/docs/en/managed-agents/session-operations#updating-the-session-budget) it later, but you can't add one to a session created without it.
804804 
805The following example creates a session with a $25.00 budget; the response echoes the `budget` on the session resource:
805The following example creates a session with a $1.25 budget:
806806 
807```bash cURL
808curl -fsSL https://api.anthropic.com/v1/sessions \
809 -H "x-api-key: $ANTHROPIC_API_KEY" \
810 -H "anthropic-version: 2023-06-01" \
811 -H "anthropic-beta: managed-agents-2026-04-01" \
812 -H "content-type: application/json" \
813 -d @- <<EOF
814{
815 "agent": "$AGENT_ID",
816 "environment_id": "$ENVIRONMENT_ID",
817 "budget": {
818 "type": "limit",
819 "max_list_cost": {"amount": "2500", "currency": "USD"}
807<CodeGroup>
808 ```bash cURL
809 curl -sS --fail-with-body https://api.anthropic.com/v1/sessions \
810 -H "x-api-key: $ANTHROPIC_API_KEY" \
811 -H "anthropic-version: 2023-06-01" \
812 -H "anthropic-beta: managed-agents-2026-04-01" \
813 -H "content-type: application/json" \
814 -d @- <<EOF
815 {
816 "agent": "$AGENT_ID",
817 "environment_id": "$ENVIRONMENT_ID",
818 "budget": {
819 "type": "limit",
820 "max_list_cost": {"amount": "125", "currency": "USD"}
821 }
820822 }
821}
822EOF
823```
823 EOF
824 ```
825 
826 ```bash CLI
827 # Keep the amount quoted so it is sent as a string, not a number.
828 ant beta:sessions create \
829 --agent "$AGENT_ID" \
830 --environment-id "$ENVIRONMENT_ID" \
831 --budget '{type: limit, max_list_cost: {amount: "125", currency: USD}}'
832 ```
833 
834 ```python Python
835 session = client.beta.sessions.create(
836 agent=agent.id,
837 environment_id=environment.id,
838 budget={
839 "type": "limit",
840 "max_list_cost": {"amount": "125", "currency": "USD"},
841 },
842 )
843 print(session.id, session.budget.max_list_cost.amount) # sesn_01... 125
844 ```
845 
846 ```typescript TypeScript
847 const session = await client.beta.sessions.create({
848 agent: agent.id,
849 environment_id: environment.id,
850 budget: {
851 type: "limit",
852 max_list_cost: { amount: "125", currency: "USD" }
853 }
854 });
855 console.log(session.id, session.budget?.max_list_cost.amount); // sesn_01... 125
856 ```
857 
858 ```csharp C#
859 var session = await client.Beta.Sessions.Create(new()
860 {
861 Agent = agent.ID,
862 EnvironmentID = environment.ID,
863 Budget = new()
864 {
865 Type = BetaManagedAgentsBudgetLimitType.Limit,
866 MaxListCost = new() { Amount = "125", Currency = BetaCurrency.Usd },
867 },
868 });
869 Console.WriteLine($"{session.ID} {session.Budget?.MaxListCost.Amount}"); // sesn_01... 125
870 ```
871 
872 ```go Go
873 session, err := client.Beta.Sessions.New(ctx, anthropic.BetaSessionNewParams{
874 Agent: anthropic.BetaSessionNewParamsAgentUnion{
875 OfString: anthropic.String(agent.ID),
876 },
877 EnvironmentID: environment.ID,
878 Budget: anthropic.BetaManagedAgentsBudgetLimitParam{
879 Type: anthropic.BetaManagedAgentsBudgetLimitTypeLimit,
880 MaxListCost: anthropic.BetaMonetaryAmountParam{
881 Amount: "125",
882 Currency: anthropic.BetaCurrencyUsd,
883 },
884 },
885 })
886 if err != nil {
887 panic(err)
888 }
889 fmt.Println(session.ID, session.Budget.MaxListCost.Amount) // sesn_01... 125
890 ```
891 
892 ```java Java
893 var session = client.beta().sessions().create(SessionCreateParams.builder()
894 .agent(agent.id())
895 .environmentId(environment.id())
896 .budget(BetaManagedAgentsBudgetLimit.builder()
897 .type(BetaManagedAgentsBudgetLimit.Type.LIMIT)
898 .maxListCost(BetaMonetaryAmount.builder()
899 .amount("125")
900 .currency(BetaCurrency.USD)
901 .build())
902 .build())
903 .build());
904 IO.println(session.id() + " " + session.budget().orElseThrow().maxListCost().amount()); // sesn_01... 125
905 ```
906 
907 ```php PHP
908 $session = $client->beta->sessions->create(
909 agent: $agent->id,
910 environmentID: $environment->id,
911 budget: [
912 'type' => 'limit',
913 'max_list_cost' => ['amount' => '125', 'currency' => 'USD'],
914 ],
915 );
916 echo "{$session->id} {$session->budget->maxListCost->amount}\n"; // sesn_01... 125
917 ```
918 
919 ```ruby Ruby
920 session = client.beta.sessions.create(
921 agent: agent.id,
922 environment_id: environment.id,
923 budget: {
924 type: "limit",
925 max_list_cost: {amount: "125", currency: "USD"}
926 }
927 )
928 puts "#{session.id} #{session.budget.max_list_cost.amount}" # sesn_01... 125
929 ```
930</CodeGroup>
824931 
825932See [Session budgets](https://platform.claude.com/docs/en/managed-agents/budgets) for how enforcement works, what counts toward list cost, and how budgets behave in multiagent sessions.
826933 
Feedback