Was this page helpful?
Information about Anthropic's standard retention policies is set out in Anthropic's commercial data retention policy and consumer data retention policy.
Anthropic offers two data handling arrangements for the Claude API:
Different APIs and features have different storage and retention needs. Where an API or feature doesn't require storage of customer prompts or responses, it may be eligible for ZDR. Where an API or feature necessarily requires storage of customer prompts or responses, Anthropic designs for the smallest possible retention footprint. For these features:
In the feature eligibility table, some features are marked "Yes (qualified)" in the ZDR eligible column. If your organization has a ZDR arrangement, you can use these features with confidence that what Anthropic retains is narrow and is required for optimal performance.
What ZDR covers
What ZDR does NOT cover
For the most up-to-date information on what products and features are ZDR-eligible, refer to your contract terms or contact your Anthropic account representative.
The Claude API supports HIPAA-ready integrations for organizations that handle protected health information (PHI). With a signed BAA and a HIPAA-enabled organization, you can use supported API features to process PHI while supporting your organization's HIPAA compliance.
Previously, organizations that required HIPAA readiness for the Claude API needed to enable ZDR. HIPAA-ready API access removes this requirement and provides a foundation for Anthropic to progressively enable additional features as they are audited for HIPAA readiness.
This page covers HIPAA readiness for the Claude API. For the full HIPAA Implementation Guide covering Claude Enterprise, Claude Code, and configuration requirements, see the Anthropic Trust Center.
To set up HIPAA-ready API access:
Sign a Business Associate Agreement
Contact the Anthropic sales team to sign a BAA that covers API usage.
Provision a HIPAA-enabled organization
Anthropic provisions a dedicated organization with HIPAA readiness controls enabled. This organization automatically enforces feature restrictions, blocking API requests that use non-eligible features.
Build with eligible features
Use the feature eligibility table to confirm which features are supported. Review the PHI handling guidelines for features that require specific restrictions on where PHI can appear. For detailed configuration and compliance requirements, refer to the HIPAA Implementation Guide.
HIPAA readiness is enforced at the organization level. If you need both HIPAA-ready and general-purpose API access, use separate organizations for each.
What HIPAA readiness covers
api.anthropic.com) for eligible features listed in the feature eligibility table.What HIPAA readiness does NOT cover
Protected health information (PHI) includes any individually identifiable health information. In the context of the Claude API, PHI typically appears in:
The following fields are not expected to contain PHI under the BAA: workspace names, user information (name, email, phone number), billing data, and support tickets.
When using structured outputs or tools with strict: true, the API compiles JSON schemas into grammars that are cached separately from message content. These cached schemas do not receive the same PHI protections as prompts and responses.
Do not include PHI in JSON schema definitions. This restriction applies to:
enum valuesconst valuespattern regular expressionsPatient-specific information should only appear in message content, where it is protected under HIPAA safeguards.
Your signed BAA is the official source of truth for which features are covered. The API also enforces these restrictions automatically: when a HIPAA-enabled organization sends a request that includes a non-eligible feature, the API returns a 400 error to prevent accidental use of features not covered by your BAA:
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "The requested features are not available for HIPAA-regulated organizations without Zero Data Retention: code_execution."
}
}The error message lists the non-eligible features detected in the request. Remove these features from your request and retry.
The following table lists which Claude API features are eligible for ZDR and HIPAA readiness arrangements. For HIPAA-enabled organizations, features marked "No" in the HIPAA column are automatically blocked, and requests that include them return a 400 error.
| Feature | Endpoint | ZDR eligible | HIPAA eligible | Details |
|---|---|---|---|---|
| Messages API | /v1/messages | Yes | Yes | Standard API calls for generating Claude responses. |
| Token counting | /v1/messages/count_tokens | Yes | Yes | Count tokens before sending requests. |
| Web search | /v1/messages (with web_search tool) |
1 Dynamic filtering is not eligible for ZDR or HIPAA.
2 While web fetch is ZDR-eligible, website publishers may retain request data (such as fetched URLs and request metadata) according to their own policies.
3 PHI must not be included in JSON schema definitions. See PHI handling guidelines.
Cross-Origin Resource Sharing (CORS) is not supported for organizations with ZDR arrangements. If you need to make API calls from browser-based applications, you must:
Even with ZDR or HIPAA arrangements in place, Anthropic may retain data where required by law or to combat Usage Policy violations and malicious uses of Anthropic's platform. As a result, if a chat or session is flagged for such a violation, Anthropic may retain inputs and outputs for up to 2 years.
| Yes1 |
| Yes1 |
| Real-time web search results returned in the API response. |
| Web fetch | /v1/messages (with web_fetch tool) | Yes1 2 | No | Fetched web content returned in the API response. |
| Advisor tool | /v1/messages (with advisor tool) | Yes | No | Advisor model output is returned in the API response; nothing is stored server-side after the response. |
| Memory tool | /v1/messages (with memory tool) | Yes | Yes | Client-side memory storage where you control data retention. |
| Context management (compaction) | /v1/messages (with context_management) | Yes | No | Server-side compaction results are returned/round-tripped statelessly through the API response. |
| Context editing | /v1/messages (with context_management) | Yes | No | Context edits (tool use clearing + thinking clearing) are applied in real time. |
| Fast mode | /v1/messages (with speed: "fast") | Yes | Yes | Same Messages API endpoint with faster inference. ZDR applies regardless of speed setting. |
| 1M token context window | /v1/messages | Yes | Yes | Extended context processing uses the standard Messages API. |
| Adaptive thinking | /v1/messages | Yes | Yes | Dynamic thinking depth uses the standard Messages API. |
| Citations | /v1/messages | Yes | Yes | Source attribution uses the standard Messages API. |
| Data residency | /v1/messages (with inference_geo) | Yes | Yes | Geographic routing uses the standard Messages API. |
| Effort | /v1/messages (with effort) | Yes | Yes | Token efficiency control uses the standard Messages API. |
| Extended thinking | /v1/messages (with thinking) | Yes | Yes | Step-by-step reasoning uses the standard Messages API. |
| PDF support | /v1/messages | Yes | Yes | PDF document processing uses the standard Messages API. HIPAA eligibility applies to PDFs sent inline via the Messages API, not through the Files API. |
| Search results | /v1/messages (with search_results source) | Yes | Yes | RAG citation support uses the standard Messages API. |
| Bash tool | /v1/messages (with bash tool) | Yes | Yes | Client-side tool executed in your environment. |
| Text editor tool | /v1/messages (with text_editor tool) | Yes | Yes | Client-side tool executed in your environment. |
| Computer use | /v1/messages (with computer tool) | Yes | No | Client-side tool where screenshots and files are captured and stored in your environment, not by Anthropic. See Computer use. |
| Fine-grained tool streaming | /v1/messages | Yes | Yes | Streaming tool parameters uses the standard Messages API. |
| Prompt caching | /v1/messages | Yes | Yes | 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. |
| Structured outputs | /v1/messages | Yes (qualified) | Yes3 | 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 (strict: true on tools), which uses the same grammar pipeline. See Structured outputs. |
| Tool search | /v1/messages (with tool_search tool) | Yes (qualified) | No | Only tool catalog data (names, descriptions, argument metadata) is stored server-side. See Tool search. |
| Batch processing | /v1/messages/batches | No | No | 29-day retention; async storage required. See Batch processing. |
| Code execution | /v1/messages (with code_execution tool) | No | No | Container data retained up to 30 days. See Code execution. |
| Programmatic tool calling | /v1/messages (with code_execution tool) | No | No | Built on code execution containers; data retained up to 30 days. See Programmatic tool calling. |
| Files API | /v1/files | No | No | Files retained until explicitly deleted. See Files API. |
| Agent skills | /v1/messages (with skills) / /v1/skills | No | No | Skill data retained per standard policy. See Agent skills. |
| MCP connector | /v1/messages (with mcp_servers) | No | No | Data retained per standard policy. See MCP connector. |