Skip to content
Start here

Create Destination

client.Workers.Observability.Destinations.New(ctx, params) (*ObservabilityDestinationNewResponse, error)
POST/accounts/{account_id}/workers/observability/destinations

Create a new Workers Observability Telemetry Destination.

Security
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
User Service Key

Used when interacting with the Origin CA certificates API. View/change your key.

Example:X-Auth-User-Service-Key: v1.0-144c9defac04969c7bfad8ef-631a41d003a32d25fe878081ef365c49503f7fada600da935e2851a1c7326084b85cbf6429c4b859de8475731dc92a9c329631e6d59e6c73da7b198497172b4cefe071d90d0f5d2719
Accepted Permissions (at least one required)
Workers Observability Write
ParametersExpand Collapse
params ObservabilityDestinationNewParams
AccountID param.Field[string]

Path param: Your Cloudflare account ID.

Body param

Headers map[string, string]
LogpushDataset ObservabilityDestinationNewParamsConfigurationLogpushDataset
One of the following:
const ObservabilityDestinationNewParamsConfigurationLogpushDatasetOpentelemetryTraces ObservabilityDestinationNewParamsConfigurationLogpushDataset = "opentelemetry-traces"
const ObservabilityDestinationNewParamsConfigurationLogpushDatasetOpentelemetryLogs ObservabilityDestinationNewParamsConfigurationLogpushDataset = "opentelemetry-logs"
const ObservabilityDestinationNewParamsConfigurationLogpushDatasetOpentelemetryMetrics ObservabilityDestinationNewParamsConfigurationLogpushDataset = "opentelemetry-metrics"
Type ObservabilityDestinationNewParamsConfigurationType
URL string
Enabled param.Field[bool]

Body param

Name param.Field[string]

Body param

SkipPreflightCheck param.Field[bool]Optional

Body param

ReturnsExpand Collapse
type ObservabilityDestinationNewResponse struct{…}
Configuration ObservabilityDestinationNewResponseConfiguration
DestinationConf string
LogpushDataset ObservabilityDestinationNewResponseConfigurationLogpushDataset
One of the following:
const ObservabilityDestinationNewResponseConfigurationLogpushDatasetOpentelemetryTraces ObservabilityDestinationNewResponseConfigurationLogpushDataset = "opentelemetry-traces"
const ObservabilityDestinationNewResponseConfigurationLogpushDatasetOpentelemetryLogs ObservabilityDestinationNewResponseConfigurationLogpushDataset = "opentelemetry-logs"
const ObservabilityDestinationNewResponseConfigurationLogpushDatasetOpentelemetryMetrics ObservabilityDestinationNewResponseConfigurationLogpushDataset = "opentelemetry-metrics"
LogpushJob float64
Type ObservabilityDestinationNewResponseConfigurationType
URL string
Enabled bool
Name string
Scripts []string
Slug string

Create Destination

package main

import (
  "context"
  "fmt"

  "github.com/stainless-sdks/cloudflare-go"
  "github.com/stainless-sdks/cloudflare-go/option"
  "github.com/stainless-sdks/cloudflare-go/workers"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
    option.WithAPIEmail("user@example.com"),
  )
  destination, err := client.Workers.Observability.Destinations.New(context.TODO(), workers.ObservabilityDestinationNewParams{
    AccountID: cloudflare.F("account_id"),
    Configuration: cloudflare.F(workers.ObservabilityDestinationNewParamsConfiguration{
      Headers: cloudflare.F(map[string]string{
      "foo": "string",
      }),
      LogpushDataset: cloudflare.F(workers.ObservabilityDestinationNewParamsConfigurationLogpushDatasetOpentelemetryTraces),
      Type: cloudflare.F(workers.ObservabilityDestinationNewParamsConfigurationTypeLogpush),
      URL: cloudflare.F("url"),
    }),
    Enabled: cloudflare.F(true),
    Name: cloudflare.F("name"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", destination.Configuration)
}
{
  "errors": [
    {
      "message": "message"
    }
  ],
  "messages": [
    {
      "message": "Resource created"
    }
  ],
  "result": {
    "configuration": {
      "destination_conf": "destination_conf",
      "logpushDataset": "opentelemetry-traces",
      "logpushJob": 0,
      "type": "logpush",
      "url": "url"
    },
    "enabled": true,
    "name": "name",
    "scripts": [
      "string"
    ],
    "slug": "slug"
  },
  "success": true
}
Returns Examples
{
  "errors": [
    {
      "message": "message"
    }
  ],
  "messages": [
    {
      "message": "Resource created"
    }
  ],
  "result": {
    "configuration": {
      "destination_conf": "destination_conf",
      "logpushDataset": "opentelemetry-traces",
      "logpushJob": 0,
      "type": "logpush",
      "url": "url"
    },
    "enabled": true,
    "name": "name",
    "scripts": [
      "string"
    ],
    "slug": "slug"
  },
  "success": true
}