---
title: Retrieve a Telemetry Destination
url: https://platform.claude.com/docs/en/api/php/beta/organization/telemetry_destinations/retrieve
---

# Retrieve a Telemetry Destination

`$client->beta->organization->telemetryDestinations->retrieve(string destinationID, ?list<AnthropicBeta> betas): TelemetryDestination`

**GET** `/v1/organizations/telemetry_destinations/{destination_id}`

Read a destination's configuration, state, and most recent delivery results.

See the [OpenTelemetry export guide](https://platform.claude.com/docs/en/manage-claude/opentelemetry?sdk_languages=php#delivery-and-health) to learn how the API delivers spans and when it disables a destination.

## Parameters

- `destinationID: string` (path parameter)

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

- `betas?: optional list<AnthropicBeta>` (header parameter)

  This endpoint is in beta: requests must send `telemetry-destinations-2026-08-11` in this header.

## Returns

- `class TelemetryDestination`

  - `"telemetry_destination" type`

  - `string id`

    The unique ID of the destination (`tdst_...`).

  - `\Datetime createdAt`

    Time the destination was created.

  - `TelemetryDestinationDeliveryHealth deliveryHealth`

    The most recent delivery results for this destination.

  - `?string displayName`

    Human-readable name for the destination. Null when none was set.

  - `string endpointURL`

    The base URL of the destination's OTLP/HTTP endpoint, exactly as registered.

    The API appends the per-signal path, such as `/v1/traces`, on delivery, unless `traces.endpoint_url` is set.

  - `list<string> headerNames`

    Names of the registered request headers. Header values are write-only and are never returned.

  - `TelemetryDestinationState state`

    Whether the destination receives deliveries.

  - `TelemetryDestinationTraces traces`

    The destination's settings for the traces it receives.

  - `\Datetime updatedAt`

    Time of the last change to the destination's configuration or state. Changes to `delivery_health` don't change it.

    An update that sets a header value always changes it, even when the value is the same as before. Adding or removing a single workspace on the destination's list doesn't change it. An update that changes the list does.

  - `TelemetryDestinationWorkspaces workspaces`

    Which of the organization's workspaces the destination covers.

## Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;
use Anthropic\Beta\AnthropicBeta;

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaTelemetryDestination = $client
  ->beta
  ->organization
  ->telemetryDestinations
  ->retrieve(
  'destination_id', betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24]
);

var_dump($betaTelemetryDestination);
```

### Response (200)

```json
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "delivery_health": {
    "last_error": "last_error",
    "last_error_at": "2019-12-27T18:11:19.117Z",
    "last_success_at": "2019-12-27T18:11:19.117Z"
  },
  "display_name": "display_name",
  "endpoint_url": "endpoint_url",
  "header_names": [
    "string"
  ],
  "state": {
    "type": "enabled"
  },
  "traces": {
    "content_mode": "metadata_only",
    "enabled": true,
    "endpoint_url": "endpoint_url",
    "max_content_bytes": 0
  },
  "type": "telemetry_destination",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "workspaces": {
    "type": "all"
  }
}
```
