Claude Platform Docs

Tujuan Telemetri

Buat Tujuan Telemetri
beta.organization.telemetry_destinations.create(**kwargs) -> BetaTelemetryDestination
POST/v1/organizations/telemetry_destinations

Daftarkan tujuan OpenTelemetry untuk organisasi.

Daftar Tujuan Telemetri
beta.organization.telemetry_destinations.list(**kwargs) -> PageCursor<BetaTelemetryDestination>
GET/v1/organizations/telemetry_destinations

Daftar tujuan organisasi, yang terbaru lebih dulu, secara opsional hanya yang mencakup workspace tertentu.

Ambil Tujuan Telemetri
beta.organization.telemetry_destinations.retrieve(destination_id, **kwargs) -> BetaTelemetryDestination
GET/v1/organizations/telemetry_destinations/{destination_id}

Baca konfigurasi, status, dan hasil pengiriman terbaru suatu tujuan.

Perbarui Tujuan Telemetri
beta.organization.telemetry_destinations.update(destination_id, **kwargs) -> BetaTelemetryDestination
POST/v1/organizations/telemetry_destinations/{destination_id}

Ubah pengaturan tujuan telemetri, statusnya, atau workspace mana yang dicakupnya.

Hapus Tujuan Telemetri
beta.organization.telemetry_destinations.delete(destination_id, **kwargs) -> BetaDeletedTelemetryDestination
DELETE/v1/organizations/telemetry_destinations/{destination_id}

Hapus tujuan beserta daftar workspace-nya.

Uji Tujuan Telemetri
beta.organization.telemetry_destinations.test_(destination_id, **kwargs) -> BetaTelemetryDestinationTestResponse
POST/v1/organizations/telemetry_destinations/{destination_id}/test

Kirim satu span uji, bernama anthropic.test, ke tujuan dengan header terdaftarnya, sekali dan tanpa percobaan ulang, lalu laporkan jawaban tujuan. Responsnya 200 baik tujuan menjawab dengan status 2xx maupun tidak: result-nya memiliki tipe success, atau tipe failure beserta alasannya di error. Konfigurasi, state, dan delivery_health tujuan tidak berubah. Tujuan yang dinonaktifkan juga dapat diuji. Tunggu 10 detik di antara pengujian satu tujuan; permintaan yang datang lebih cepat dapat dijawab dengan status 429.

Models
class BetaDeletedTelemetryDestination { type: :telemetry_destination_deleted, id }

Confirmation that a destination was deleted.

type: :telemetry_destination_deleted
id: String

ID of the deleted destination (tdst_...).

class BetaTelemetryDestination { type: :telemetry_destination, id, created_at, 8 more }

An OpenTelemetry destination: an OTLP/HTTP endpoint, the request headers sent with every delivery to it, what the exported spans contain, and which workspaces it covers. A destination belongs to an organization. A workspace's spans go to every enabled destination that covers it.

type BetaTelemetryDestinationContentMode = :metadata_only | :content

What the spans that the API exports to a telemetry destination contain.

See the OpenTelemetry export guide to learn what the spans contain in each content mode.

One of the following:
:metadata_only

The spans contain identifiers, timing, status, token counts, and similar metadata. They don't contain prompt text, completion text, or tool inputs and outputs.

:content

The spans contain the same metadata as metadata_only, plus message and tool content.

An organization with a data-handling restriction, such as under HIPAA, can't choose this mode. The API exports only metadata for such an organization, even to a destination that already has content.

class BetaTelemetryDestinationDeliveryHealth { last_error, last_error_at, last_success_at }

The most recent delivery results that the API records for a telemetry destination.

Changes to the destination's configuration or state don't reset these fields. Changes to these fields don't change updated_at. The values can lag behind the latest deliveries.

See the OpenTelemetry export guide to learn how the API delivers spans and when it disables a destination.

last_error: String

A message that describes the most recent failed delivery to the destination, or null if no delivery has failed yet.

Examples are temporary DNS failure, TLS failure, timeout, connection failure, invalid address, HTTP error (status 503), and redirect (status 301). The message is invalid address both for a hostname that doesn't exist and for an address that isn't publicly routable. It never contains the endpoint's response body, a header value, a network address, or TLS details.

last_error and last_error_at always change together. A later successful delivery doesn't clear them. If last_success_at is later than last_error_at, a delivery has succeeded since this failure.

See the OpenTelemetry export guide to learn the likely cause of each error.

last_error_at: Time

Time of the failure that last_error describes. Changes together with last_error. Null until a delivery first fails.

formatdate-time
last_success_at: Time

Time of the most recent successful delivery to the destination, or null if no delivery has succeeded yet.

formatdate-time

Why the destination is disabled: caller when a caller disabled it, or the reason the API disabled it automatically (sustained_failure, invalid_address, or redirect). Every automatic disable is reversible with an update that sets state to enabled. An update that sets disabled on a destination that is already disabled keeps its reason.

One of the following:
class BetaTelemetryDestinationDisabledReasonCaller { type: :caller }

A caller disabled the destination with an update that set state to disabled.

type: :caller
class BetaTelemetryDestinationDisabledReasonInvalidAddress { type: :invalid_address }

The API disabled the destination because deliveries to it failed for longer than the same threshold as for sustained_failure, and the most recent failed delivery failed with an invalid address: the DNS answer says that the endpoint's hostname doesn't exist or doesn't have an address, or the address that the API would connect to isn't publicly routable or is reserved, for example a loopback, link-local, private-network, or cloud-metadata address. The API doesn't connect to such an address, and retries the delivery a bounded number of times as it does after a timeout. A timeout or a server failure of the DNS lookup is a temporary DNS failure instead, not an invalid address.

type: :invalid_address
class BetaTelemetryDestinationDisabledReasonRedirect { type: :redirect }

The API disabled the destination because the endpoint answered a delivery with a 3xx status. Redirects are never followed, and one such answer disables the destination at once.

type: :redirect
class BetaTelemetryDestinationDisabledReasonSustainedFailure { type: :sustained_failure }

The API disabled the destination because deliveries to it failed, with no successful delivery in between, for longer than a threshold that Anthropic configures and that is not part of this contract. The reason is invalid_address instead when the most recent failed delivery failed with an invalid address.

type: :sustained_failure

Whether a telemetry destination receives deliveries.

A caller can set either state. The API also disables an enabled destination on its own in some cases. The reason of the disabled state says whether a caller or the API disabled the destination and, when the API did, why.

See the OpenTelemetry export guide to learn when the API disables a destination.

One of the following:
class BetaTelemetryDestinationStateEnabled { type: :enabled }

The telemetry destination receives the spans of the workspaces that it covers.

type: :enabled
class BetaTelemetryDestinationStateDisabled { type: :disabled, reason }

The API doesn't deliver anything to the telemetry destination.

Spans produced while it is disabled aren't delivered later.

type: :disabled

Whether a caller or the API disabled the destination and, when the API did, why. Read-only.

One of the following:
class BetaTelemetryDestinationStateDisabled { type: :disabled, reason }

The API doesn't deliver anything to the telemetry destination.

Spans produced while it is disabled aren't delivered later.

type: :disabled

Whether a caller or the API disabled the destination and, when the API did, why. Read-only.

One of the following:
class BetaTelemetryDestinationStateDisabledParams { type: :disabled }

Stop deliveries to the telemetry destination.

Spans produced while it is disabled aren't delivered later. A destination that is already disabled keeps its reason.

type: :disabled
class BetaTelemetryDestinationStateEnabled { type: :enabled }

The telemetry destination receives the spans of the workspaces that it covers.

type: :enabled
class BetaTelemetryDestinationStateEnabledParams { type: :enabled }

Start deliveries to the telemetry destination again.

This doesn't reset delivery_health.

type: :enabled

The state to set on a telemetry destination, by type alone.

A caller can't set the reason of a disabled state. Only the API sets it.

One of the following:
class BetaTelemetryDestinationStateEnabledParams { type: :enabled }

Start deliveries to the telemetry destination again.

This doesn't reset delivery_health.

type: :enabled
class BetaTelemetryDestinationStateDisabledParams { type: :disabled }

Stop deliveries to the telemetry destination.

Spans produced while it is disabled aren't delivered later. A destination that is already disabled keeps its reason.

type: :disabled
class BetaTelemetryDestinationTestFailure { type: :failure, error }

The test span was not delivered.

type: :failure
error: String

A message that describes why the test span was not delivered, including the HTTP status code when the destination returned one. Examples: HTTP error (status 403), timeout, TLS failure. It has the same form as the destination's delivery_health.last_error and never contains the destination's response body, any header value, a network address, or TLS details.

class BetaTelemetryDestinationTestResponse { type: :telemetry_destination_test, result }

The result of one test span sent to a destination.

type: :telemetry_destination_test

How the test went: success when the destination answered with a 2xx status, else failure with the reason.

One of the following:
class BetaTelemetryDestinationTestSuccess { type: :success }

The destination answered the test span with a 2xx status.

type: :success
class BetaTelemetryDestinationTestFailure { type: :failure, error }

The test span was not delivered.

type: :failure
error: String

A message that describes why the test span was not delivered, including the HTTP status code when the destination returned one. Examples: HTTP error (status 403), timeout, TLS failure. It has the same form as the destination's delivery_health.last_error and never contains the destination's response body, any header value, a network address, or TLS details.

type BetaTelemetryDestinationTestResult = BetaTelemetryDestinationTestSuccess | BetaTelemetryDestinationTestFailure

The outcome of a test: success, or failure with the reason.

One of the following:
class BetaTelemetryDestinationTestSuccess { type: :success }

The destination answered the test span with a 2xx status.

type: :success
class BetaTelemetryDestinationTestFailure { type: :failure, error }

The test span was not delivered.

type: :failure
error: String

A message that describes why the test span was not delivered, including the HTTP status code when the destination returned one. Examples: HTTP error (status 403), timeout, TLS failure. It has the same form as the destination's delivery_health.last_error and never contains the destination's response body, any header value, a network address, or TLS details.

class BetaTelemetryDestinationTestSuccess { type: :success }

The destination answered the test span with a 2xx status.

type: :success
class BetaTelemetryDestinationTraces { content_mode, enabled, endpoint_url, max_content_bytes }

A telemetry destination's settings for the traces it receives.

What the exported spans contain.

One of the following:
:metadata_only

The spans contain identifiers, timing, status, token counts, and similar metadata. They don't contain prompt text, completion text, or tool inputs and outputs.

:content

The spans contain the same metadata as metadata_only, plus message and tool content.

An organization with a data-handling restriction, such as under HIPAA, can't choose this mode. The API exports only metadata for such an organization, even to a destination that already has content.

enabled: bool

Whether the destination receives traces. A destination whose enabled is false keeps its other settings.

endpoint_url: String

The full URL that the API posts traces to, exactly as registered, or null if the destination doesn't have one.

When it is null, the API posts traces to endpoint_url with /v1/traces appended.

max_content_bytes: Integer

The most bytes of content that one exported span can contain, or null if only the API's maximum applies.

Content means model prompts and responses, and tool inputs and outputs. The API shortens longer content to this size before it delivers the span. A destination whose content_mode is metadata_only keeps this value. It applies once content_mode is content.

formatint32
class BetaTelemetryDestinationTracesParams { content_mode, enabled, endpoint_url, max_content_bytes }

The settings for the traces that a telemetry destination receives, as a create or update request sets them. An omitted field takes its default on create and keeps its stored value on update.

What the exported spans contain. Defaults to metadata_only on create.

On update, null sets metadata_only.

One of the following:
:metadata_only

The spans contain identifiers, timing, status, token counts, and similar metadata. They don't contain prompt text, completion text, or tool inputs and outputs.

:content

The spans contain the same metadata as metadata_only, plus message and tool content.

An organization with a data-handling restriction, such as under HIPAA, can't choose this mode. The API exports only metadata for such an organization, even to a destination that already has content.

enabled: bool

Whether the destination receives traces. Defaults to true on create. It cannot be null.

endpoint_url: String

The full URL of your collector's traces endpoint, for a collector that takes traces on a path other than /v1/traces. The API posts traces to it exactly as given and appends nothing.

The same rules as for endpoint_url apply, except that any path is allowed. It must have the same scheme, host, and port as endpoint_url. At most 2,048 characters.

On create, null is the same as leaving it out. On update, null removes it. The API then posts traces to endpoint_url with /v1/traces appended. A change of this URL alone keeps the registered headers.

maxLength2048
max_content_bytes: Integer

The most bytes of content that one exported span can contain, from 1 up to the API's maximum. null sets no bound, so only the API's maximum applies.

On create, leaving it out is the same as null. The error for a value above the maximum states the maximum.

formatint32

Which of the organization's workspaces a telemetry destination covers.

Several destinations can cover the same workspace. Each of them receives the workspace's spans while it is enabled.

The workspace list of an include or exclude destination isn't part of the destination object. List the destination's workspaces to read it. Add or remove one workspace at a time, or replace the whole list with an update. A list holds at most 1,000 workspaces.

One of the following:
class BetaTelemetryDestinationWorkspacesAll { type: :all }

The destination covers every workspace of the organization, including the default workspace, archived workspaces, and workspaces created later. It doesn't have a list.

type: :all
class BetaTelemetryDestinationWorkspacesInclude { type: :include }

The destination covers the workspaces on its list, and no others.

type: :include
class BetaTelemetryDestinationWorkspacesExclude { type: :exclude }

The destination covers every workspace of the organization except the workspaces on its list. A workspace created later is covered until it is added to the list.

type: :exclude
class BetaTelemetryDestinationWorkspacesAll { type: :all }

The destination covers every workspace of the organization, including the default workspace, archived workspaces, and workspaces created later. It doesn't have a list.

type: :all
class BetaTelemetryDestinationWorkspacesAllParams { type: :all }

Cover every workspace of the organization. Doesn't take workspace_ids.

An update that sets all empties the destination's workspace list.

type: :all
class BetaTelemetryDestinationWorkspacesExclude { type: :exclude }

The destination covers every workspace of the organization except the workspaces on its list. A workspace created later is covered until it is added to the list.

type: :exclude
class BetaTelemetryDestinationWorkspacesExcludeParams { type: :exclude, workspace_ids }

Cover every workspace of the organization except the workspaces on the list.

type: :exclude
workspace_ids: Array[String]

The IDs of the workspaces on the destination's list (wrkspc_...). At most 100 per request.

On create, these workspaces become the destination's list. If you leave workspace_ids out, the list starts empty. If the API refuses one of the IDs, it doesn't create the destination.

On update, workspace_ids replaces the whole list. A workspace that stays on the list keeps its entry and its created_at. An empty array empties the list. If you leave workspace_ids out and the type stays the same, the list doesn't change. If you leave it out and the type changes, the new list starts empty. After a change to include without workspace_ids, the destination doesn't cover any workspace until one is added. After a change to exclude without workspace_ids, it covers every workspace.

An ID sent more than once is added once. An archived workspace can't be added to a list. An update can keep an archived workspace that is already on the list.

class BetaTelemetryDestinationWorkspacesInclude { type: :include }

The destination covers the workspaces on its list, and no others.

type: :include
class BetaTelemetryDestinationWorkspacesIncludeParams { type: :include, workspace_ids }

Cover only the workspaces on the list.

type: :include
workspace_ids: Array[String]

The IDs of the workspaces on the destination's list (wrkspc_...). At most 100 per request.

On create, these workspaces become the destination's list. If you leave workspace_ids out, the list starts empty. If the API refuses one of the IDs, it doesn't create the destination.

On update, workspace_ids replaces the whole list. A workspace that stays on the list keeps its entry and its created_at. An empty array empties the list. If you leave workspace_ids out and the type stays the same, the list doesn't change. If you leave it out and the type changes, the new list starts empty. After a change to include without workspace_ids, the destination doesn't cover any workspace until one is added. After a change to exclude without workspace_ids, it covers every workspace.

An ID sent more than once is added once. An archived workspace can't be added to a list. An update can keep an archived workspace that is already on the list.

Which of the organization's workspaces a telemetry destination covers, as a create or update request sets it.

One of the following:

Tujuan TelemetriWorkspace

Daftar Workspace Tujuan Telemetri
beta.organization.telemetry_destinations.workspaces.list(destination_id, **kwargs) -> PageCursor<BetaTelemetryDestinationWorkspace>
GET/v1/organizations/telemetry_destinations/{destination_id}/workspaces

Daftar workspace yang ada di daftar workspace suatu tujuan, dimulai dari entri terbaru.

Tambahkan Workspace Tujuan Telemetri
beta.organization.telemetry_destinations.workspaces.add(workspace_id, **kwargs) -> BetaTelemetryDestinationWorkspace
POST/v1/organizations/telemetry_destinations/{destination_id}/workspaces/{workspace_id}

Tambahkan satu workspace ke daftar workspace suatu tujuan.

Hapus Workspace Tujuan Telemetri
beta.organization.telemetry_destinations.workspaces.remove(workspace_id, **kwargs) -> BetaDeletedTelemetryDestinationWorkspace
DELETE/v1/organizations/telemetry_destinations/{destination_id}/workspaces/{workspace_id}

Hapus satu workspace dari daftar workspace suatu tujuan.