> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CreateObservabilityDestinationRequest

## Example Usage

```typescript theme={null}
import { CreateObservabilityDestinationRequest } from "@openrouter/sdk/models";

let value: CreateObservabilityDestinationRequest = {
  config: {
    "baseUrl": "https://us.cloud.langfuse.com",
    "publicKey": "pk-l...EfGh",
    "secretKey": "sk-l...AbCd",
  },
  name: "Production Langfuse",
  type: "langfuse",
};
```

## Fields

| Field | Type | Required | Description | Example |
| - | - | - | - | - |
| `apiKeyHashes` | *string*\[] | :heavy\_minus\_sign: | Optional allowlist of OpenRouter API key hashes whose traffic is forwarded. `null` or omitted means all keys. Must contain at least one hash if provided. | null |
| `broadcastGenerationCost` | *boolean* | :heavy\_minus\_sign: | When true, include cost and billing generation metadata. | false |
| `broadcastGenerationIdentity` | *boolean* | :heavy\_minus\_sign: | When true, include identity generation metadata. | false |
| `broadcastGenerationRequestContext` | *boolean* | :heavy\_minus\_sign: | When true, include request-context generation metadata. | false |
| `config` | Record\<string, *any*> | :heavy\_check\_mark: | Provider-specific configuration. The shape depends on `type` and is validated server-side. | \{<br />"baseUrl": "[https://us.cloud.langfuse.com](https://us.cloud.langfuse.com)",<br />"publicKey": "pk-l...EfGh",<br />"secretKey": "sk-l...AbCd"<br />} |
| `enabled` | *boolean* | :heavy\_minus\_sign: | Whether this destination should be enabled immediately. | true |
| `filterRules` | [models.ObservabilityFilterRulesConfigNullable](../models/observabilityfilterrulesconfignullable.mdx) | :heavy\_minus\_sign: | Optional structured filter rules controlling which events are forwarded. | null |
| `name` | *string* | :heavy\_check\_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacyMode` | *boolean* | :heavy\_minus\_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
| `regions` | [models.ObservabilityDataRegionInput](../models/observabilitydataregioninput.mdx)\[] | :heavy\_minus\_sign: | Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field defaults to \['global']; the array must be non-empty. | \[<br />"global"<br />] |
| `samplingRate` | *number* | :heavy\_minus\_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [models.CreateObservabilityDestinationRequestType](../models/createobservabilitydestinationrequesttype.mdx) | :heavy\_check\_mark: | The destination type. Only stable destination types are accepted. | langfuse |
| `workspaceId` | *string* | :heavy\_minus\_sign: | Optional workspace ID. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
