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

# Import bounded content-free production request shapes for monitoring and replay



## OpenAPI

````yaml /openapi.json post /api/v1/deployments/{name}/traffic-observations
openapi: 3.1.0
info:
  description: >-
    Durable, authenticated control-plane operations. Mutation responses may
    outlive the requesting client.
  title: InferCrane Control API
  version: 1.0.0
servers:
  - description: Local InferCrane API and gateway
    url: http://127.0.0.1:18000
security: []
tags:
  - name: Admission
  - name: Adoption
  - name: Alerts
  - name: Async inference
  - name: Audit
  - name: Autopilot
  - name: Benchmarks
  - name: Billing
  - name: Billing administration
  - name: Burst Guard
  - name: Capacity intelligence
  - name: Compute
  - name: Context Passport
  - name: Deployments
  - name: Diagnostics
  - name: Endpoints
  - name: External capacity
  - name: FinOps
  - name: Identity
  - name: Inference
  - name: Inference Lab
  - name: Inference decisions
  - name: Inference optimization
  - name: Infrastructure
  - name: Model API administration
  - name: Model APIs
  - name: Model artifacts
  - name: Model catalog
  - name: Monitoring
  - name: Operations
  - name: Planning
  - name: Providers
  - name: Recipes
  - name: Release Guard
  - name: Release evidence
  - name: Replay
  - name: Revisions
  - name: Routing
  - name: Sandboxes
  - name: Scaling
  - name: Secrets
  - name: System
  - name: Targets
  - name: Training lineage
paths:
  /api/v1/deployments/{name}/traffic-observations:
    post:
      tags:
        - Monitoring
      summary: >-
        Import bounded content-free production request shapes for monitoring and
        replay
      operationId: importTrafficObservations
      parameters:
        - in: path
          name: name
          required: true
          schema:
            minLength: 1
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrafficObservationImport'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
          description: Created
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Typed API error
      security:
        - bearerAuth: []
components:
  schemas:
    TrafficObservationImport:
      additionalProperties: false
      properties:
        observations:
          items:
            $ref: '#/components/schemas/TrafficObservation'
          maxItems: 1000
          minItems: 1
          type: array
        schema_version:
          const: infercrane.traffic-observations/v1
          type: string
        source:
          enum:
            - opentelemetry
            - datadog
            - baseten
            - fireworks
            - custom
          type: string
      required:
        - source
        - schema_version
        - observations
      type: object
    Object:
      additionalProperties: true
      type: object
    ErrorEnvelope:
      properties:
        error:
          $ref: '#/components/schemas/Error'
      required:
        - error
      type: object
    TrafficObservation:
      additionalProperties: false
      properties:
        error_type:
          maxLength: 255
          type: string
        generation_ms:
          maximum: 86400000
          minimum: 0
          type: number
        input_tokens:
          maximum: 10000000
          minimum: 0
          type: integer
        latency_ms:
          maximum: 86400000
          minimum: 0
          type: number
        operation:
          maxLength: 64
          minLength: 1
          type: string
        output_tokens:
          maximum: 10000000
          minimum: 0
          type: integer
        parent_session_id_hash:
          pattern: ^[a-fA-F0-9]{64}$
          type: string
        provider:
          maxLength: 255
          type: string
        queue_ms:
          maximum: 86400000
          minimum: 0
          type: number
        request_model:
          maxLength: 255
          type: string
        response_model:
          maxLength: 255
          type: string
        retry_count:
          maximum: 100
          minimum: 0
          type: integer
        runtime:
          maxLength: 255
          type: string
        semantic_convention_schema:
          maxLength: 255
          type: string
        session_id_hash:
          pattern: ^[a-fA-F0-9]{64}$
          type: string
        shared_prefix_hash:
          pattern: ^[a-fA-F0-9]{64}$
          type: string
        source_request_id:
          maxLength: 255
          minLength: 1
          type: string
        started_at:
          format: date-time
          type: string
        status_code:
          maximum: 599
          minimum: 100
          type: integer
        streaming:
          type: boolean
        tool_pause_ms:
          maximum: 86400000
          minimum: 0
          type: number
        ttft_ms:
          maximum: 86400000
          minimum: 0
          type: number
      required:
        - source_request_id
        - started_at
        - latency_ms
        - status_code
        - operation
        - streaming
      type: object
    Error:
      properties:
        category:
          type: string
        code:
          type: string
        message:
          type: string
        remediation:
          type: string
        request_id:
          type: string
        retryable:
          type: boolean
      required:
        - code
        - message
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````