Service eligibility and regional restrictions
PuppyIP serves only compliant overseas businesses and their authorized personnel. Proxy services are not available in mainland China. The service may only be used for lawful business activities outside mainland China. Use of this service within mainland China is prohibited.
Hosting a proxy IP or server overseas does not change these restrictions. The service must not be provided to end users in mainland China through relaying, forwarding, sharing or resale. Before use, read the Terms of Service.
Key Takeaways
- The October 14 official announcement introduces OpenTelemetry export beta. API tracing and SDK tracing can be used separately or together.
- Console admins can create a destination. The receiver needs OTLP/HTTP protobuf, HTTPS on port 443 and a publicly resolvable hostname.
- Metadata only is the default; Full content can add prompts and responses. After export, the receiver stores data under its own retention and access settings.
- Spans can be duplicated, lost or omitted by sampling, so traces cannot replace a complete usage ledger. Claude Platform on AWS also has a separate traceparent limitation.
Choose API tracing, SDK tracing or both
Anthropic announced OpenTelemetry export beta in its October 14, 2026 developer release notes. A span records one step in a trace, such as a model request or tool use.
Current documentation covers Messages API requests and Claude Managed Agents sessions. SDK tracing provides the client perspective; API tracing also exposes server-side model requests, tool uses and other spans. Configuring a Console destination enables those API spans without changing application code.
Combine both tracing paths if you want to connect client and server operations. The announcement lists Python, TypeScript, C#, Go, Java, PHP and Ruby SDKs, but these sources do not specify minimum versions; check the relevant guide before installing or instrumenting an SDK. Claude Code, the Agent SDK and Cowork have separate monitoring guides. This destination is not a common switch for all of them.
Check permissions, receiver protocol and workspace scope
First, confirm you have the admin role in a Claude Console organization to add or change destinations; developers can view them.
Your receiver must accept OTLP/HTTP with protobuf encoding over HTTPS on port 443, using a hostname rather than an IP address. A self-hosted Collector's default port 4318 is not, by itself, the public HTTPS entry point required here.
Next, open OpenTelemetry settings, choose Add destination, and select a Provider. A listed platform asks for its required details, such as an API key; with Custom, enter the receiver address and authentication headers.
Leave /v1/traces off the base OTLP endpoint URL: the API appends it. An optional full traces URL under Advanced settings must share that host. Put credentials only in header values; they are not displayed again after saving.
Then choose Content mode and Workspaces. For a hypothetical trial confined to one workspace, choose Selected and identify it. All includes every workspace in the organization, including ones created later; All except excludes those you specify. If several enabled destinations cover the workspace where a request runs, the API sends spans to each of them.
Check a test span before observing application requests
After saving, the documented flow is to choose Test from the destination's More actions menu and confirm that anthropic.test arrives in your observability platform. If it fails, inspect the delivery error first to distinguish authentication, path, DNS, TLS and timeout problems before changing model requests.
When an authorized Messages API request or Managed Agents session runs in a covered workspace, check the Console's Delivery column and filter for service.name=claude-platform in the receiver. Status updates and workspace coverage can take about a minute to appear. Healthy means the last delivery succeeded, not that every historical span is present.
If no data arrives, first confirm the destination is enabled and covers the right workspace, then check its address and authentication. The documentation associates 401/403 with authentication headers and 404 with endpoint paths. These are troubleshooting directions, not proof that a status code explains every failed request.
Choose exported content and review the receiver's retention rules
Metadata only exports identifiers, timing, status, token counts and text you choose, such as agent and tool names or descriptions and MCP server names. It therefore does not mean that every exported field is nonsensitive. Full content adds model prompts and responses. The receiving platform stores this material under its own access controls and retention settings.
Full content defaults to a 0.75 MB content limit per span, although selecting a Provider can set a limit that its platform accepts. Oversized content is shortened and marked anthropic.content.truncated=true. Request spans drop the system prompt and earliest messages first; images and documents appear only as their type. A trace is not a guaranteed complete conversation backup.
If an organization has a HIPAA, FERPA or K-12 data-handling restriction with Anthropic, destinations export only metadata regardless of their selected mode; that restriction does not affect SDK spans.
Eligible Messages API requests can still use Full content with zero data retention: the API holds exported content in memory until delivery. Managed Agents itself is not eligible for zero data retention. The receiver's retention responsibilities still need separate review.
Account for AWS and sampling differences when linking traces
API spans start in their own traces by default. To connect them to an application's trace, the documentation uses W3C traceparent context. Send SDK and API spans to the same observability platform to view them together. On the path that supports this header, an off sampled flag prevents the API from emitting that request's span and its children.
Claude Platform on AWS does not currently support this header. Its API spans always start their own traces, even when the sampled flag is off.
The API tracing compatibility table lists Claude API and Claude Platform on AWS, both in beta. This does not establish support for other clouds, every region or every account. These sources also list no dedicated fees, so they do not establish that the service or receiver is free.
Expect delivery limits and keep complete usage accounting separate
Delivery is best effort: spans can arrive more than once or be lost before arrival, and lost spans cannot be resent. Deduplicate by trace ID and span ID. The API makes limited retries for certain timeouts, connection failures and 408, 429 or 5xx responses. A redirect response, a hostname resolving to a nonpublic address, or 24 hours of entirely failed deliveries disables the destination. Fix the cause and re-enable it to resume export.
Do not decide whether a request was billable from whether its span appears, or treat trace counts as a complete usage ledger. The documentation recommends the Usage API for tracking each API key's usage. Traces help investigate failures, latency and tool activity; beta terms, actual SDK compatibility and the receiver's data management still need to fit your integration.
Sources
Frequently Asked Questions
Does SDK tracing alone show every tool executed by the API?
That should not be assumed. The coverage table places API-run server tools and model runs within a request under API tracing. Tools executed by a client tool runner are covered by SDK tracing. Configure both when you need both perspectives, while observing the platform's trace-linking limits.
Can I enter a receiver that supports only OTLP/gRPC?
This API destination requires OTLP/HTTP, protobuf encoding and HTTPS on port 443. A gRPC-only interface does not meet that requirement; provide a compatible HTTP entry point first. The base endpoint gets /v1/traces appended, while a custom full traces URL must share the base URL's host.
How do I avoid counting tokens twice when collecting SDK and API spans?
For a Messages API request with both, the documentation recommends summing the API spans instead of adding SDK CLIENT and API SERVER spans together. Within API spans, choose either the request span or its model_request spans, not both levels. Also deduplicate repeated deliveries by trace ID and span ID. This still cannot recover lost or unsampled data.