> ## Documentation Index
> Fetch the complete documentation index at: https://tbd-6fc993ce-hypeship-stagehand-v4-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create an OTLP destination

> Create an OTLP export destination in the resolved project. Names must be unique within the project.



## OpenAPI

````yaml https://api.onkernel.com/spec.json post /telemetry/destinations
openapi: 3.1.0
info:
  description: Developer tools and cloud infrastructure for AI agents to use web browsers
  title: Kernel API
  version: 0.1.0
servers:
  - description: API Server
    url: https://api.onkernel.com
security:
  - bearerAuth: []
tags:
  - description: Create and manage browser sessions.
    name: Browsers
  - description: Control mouse, keyboard, and screen on the browser instance.
    name: Browser Computer Controls
  - description: Execute Playwright code against the browser instance.
    name: Browser Playwright
  - description: Read, write, and manage files on the browser instance.
    name: Browser Filesystem
  - description: Execute and manage processes on the browser instance.
    name: Browser Processes
  - description: Record and manage browser session video replays.
    name: Browser Replays
  - description: Stream logs from the browser instance.
    name: Browser Logs
  - description: >-
      Stream live telemetry events from a browser session, and manage the
      destinations sessions export them to.
    name: Browser Telemetry
  - description: Create, list, retrieve, and delete browser profiles.
    name: Profiles
  - description: Create and manage proxy configurations for routing browser traffic.
    name: Proxies
  - description: Create, list, retrieve, and delete browser extensions.
    name: Extensions
  - description: Create and manage browser pools for acquiring and releasing browsers.
    name: Browser Pools
  - description: Inspect the identity and authorization context for the current request.
    name: Authentication
  - description: >-
      Create and manage auth connections for automated credential capture and
      login.
    name: Managed Auth
  - description: Create and manage credentials for authentication.
    name: Credentials
  - description: Configure external credential providers like 1Password.
    name: Credential Providers
  - description: List applications and versions.
    name: Apps
  - description: Create and manage app deployments and stream deployment events.
    name: Deployments
  - description: Invoke actions and stream or query invocation status and events.
    name: Invocations
  - description: Read and manage organization-level limits.
    name: Organization
  - description: |
      Create and manage projects for resource isolation within an organization.
      When projects are disabled for the organization, project operations return
      `404` with code `projects_disabled`.
    name: Projects
  - description: Create and manage API keys for organization and project-scoped access.
    name: API Keys
  - description: Read audit log records for the authenticated organization.
    name: Audit Logs
  - description: Resolve browser and proxy recommendations for bot-protected sites.
    name: Site Configs
paths:
  /telemetry/destinations:
    post:
      tags:
        - Browser Telemetry
      summary: Create an OTLP destination
      description: >-
        Create an OTLP export destination in the resolved project. Names must be
        unique within the project.
      operationId: postTelemetryDestinations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OTLPDestinationCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OTLPDestination'
          description: OTLP destination created
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          $ref: '#/components/responses/Conflict'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - bearerAuth: []
components:
  schemas:
    OTLPDestinationCreateRequest:
      properties:
        description:
          maxLength: 1024
          type: string
        endpoint:
          description: >-
            Base endpoint of the OTLP/HTTP collector, without a signal path.
            Kernel appends the signal path itself, so pass
            `https://api.honeycomb.io` rather than
            `https://api.honeycomb.io/v1/logs`. If your provider's docs give you
            a signal-specific URL, drop the trailing `/v1/logs`, `/v1/traces`,
            or `/v1/metrics` — an endpoint that already carries one is rejected.


            Must be http or https, must resolve to a public address, and must
            carry no query string or fragment. Examples:
            `https://api.honeycomb.io`,
            `https://otlp-gateway-prod-us-east-0.grafana.net/otlp`,
            `https://otlp.datadoghq.com` (Datadog's OTLP intake for US1, not its
            logs intake).
          maxLength: 2048
          minLength: 1
          type: string
        headers:
          additionalProperties:
            type: string
          description: >-
            Headers sent with each export request, typically an ingestion key.
            Encrypted at rest and returned redacted. Names and values must be
            valid HTTP header tokens, and the names and values together cannot
            exceed 8192 bytes. Names are matched case-insensitively and stored
            canonicalized, so supplying two spellings of one header is rejected.
          maxProperties: 32
          type: object
        name:
          description: Unique within the project.
          pattern: ^[a-zA-Z0-9._-]{1,255}$
          type: string
      required:
        - name
        - endpoint
      type: object
    OTLPDestination:
      description: >-
        An OTLP endpoint to export browser session telemetry to. Reference one
        from `telemetry.export.otlp.destination` when creating a browser to
        export that session's captured telemetry to it.
      properties:
        created_at:
          format: date-time
          type: string
        description:
          maxLength: 1024
          type: string
        endpoint:
          description: OTLP/HTTP endpoint telemetry is sent to.
          maxLength: 2048
          type: string
        headers:
          additionalProperties:
            type: string
          description: >-
            Headers sent with each export request. Names are returned in
            canonical form (`Authorization`, not `authorization`). Values are
            returned redacted as empty strings, so the keys are visible but the
            credentials are not.
          type: object
        id:
          maxLength: 128
          type: string
        name:
          description: >-
            Unique within the project. Usable in place of the ID when selecting
            a destination, so it cannot be shaped like an ID.
          pattern: ^[a-zA-Z0-9._-]{1,255}$
          type: string
        updated_at:
          format: date-time
          type: string
      required:
        - id
        - name
        - endpoint
        - headers
        - created_at
        - updated_at
      type: object
    Error:
      properties:
        code:
          description: Application-specific error code (machine-readable)
          example: bad_request
          type: string
        details:
          description: Additional error details (for multiple errors)
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        inner_error:
          $ref: '#/components/schemas/ErrorDetail'
        message:
          description: Human-readable error description for debugging
          example: 'Missing required field: app_name'
          type: string
      required:
        - code
        - message
      type: object
    ErrorDetail:
      properties:
        code:
          description: Lower-level error code providing more specific detail
          example: invalid_input
          type: string
        message:
          description: Further detail about the error
          example: Provided version string is not semver compliant
          type: string
      type: object
  responses:
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Bad Request – invalid input
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Unauthorized – missing or invalid authorization token
    Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Forbidden – insufficient permissions or plan
    Conflict:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Conflict – resource already exists
    InternalError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Internal Server Error
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````