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

# Create span

> Create a new trace span.



## OpenAPI

````yaml post /v3/spans
openapi: 3.1.0
info:
  description: Schema-driven generative API that orchestrates LLM-powered workflows.
  title: Task API
  version: 3.0.0
servers:
  - description: Production
    url: https://api.opper.ai
  - description: Local development
    url: http://localhost:8080
security:
  - BearerAuth: []
tags:
  - description: Schema-driven function management and execution
    name: Functions
  - description: OpenAI-compatible chat completions
    name: Chat
  - description: OpenAI Responses API compatible endpoint
    name: Responses
  - description: Google-compatible interactions endpoint
    name: Interactions
  - description: Model registry and capabilities
    name: Models
  - description: Synchronous image generation
    name: Images
  - description: Text-to-speech and speech-to-text
    name: Audio
  - description: Asynchronous video generation
    name: Videos
  - description: Reusable file storage for media inputs and generated outputs
    name: Files
  - description: Async generation status and downloads
    name: Artifacts
  - description: OpenAI-compatible embeddings
    name: Embeddings
  - description: Recorded HTTP request/response generations
    name: Generations
  - description: System health and status
    name: System
  - description: Roundtable endpoint — fan out a query to multiple LLMs and combine results
    name: Roundtable
  - description: Web search, fetch, and other utility tools
    name: Tools
paths:
  /v3/spans:
    post:
      tags:
        - Spans
      summary: Create span
      description: Create a new trace span.
      operationId: createSpan
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSpanRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSpanResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          description: Unauthorized - missing or invalid API key
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      x-codeSamples:
        - lang: Python
          label: Python
          source: |-
            span = opper.spans.create(
                name="my-pipeline",
                start_time=datetime.now(timezone.utc).isoformat(),
                input="Starting the pipeline",
                meta={"userId": "u-123"},
            )
            print(f"Span: {span.id}, Trace: {span.trace_id}")
        - lang: TypeScript
          label: TypeScript
          source: |-
            import { Opper } from "opperai";

            const opper = new Opper();

            const span = await opper.spans.create({
              name: "my-pipeline",
              start_time: new Date().toISOString(),
              input: "Starting the pipeline",
              meta: { userId: "u-123" },
            });
            console.log(`Span: ${span.id}, Trace: ${span.trace_id}`);
components:
  schemas:
    CreateSpanRequest:
      properties:
        end_time:
          format: date-time
          type: string
        error:
          type: string
        input:
          type: string
        meta:
          type: object
        metadata:
          type: object
        name:
          type: string
        output:
          type: string
        parent_id:
          type: string
        start_time:
          format: date-time
          type: string
        tags:
          type: object
        trace_id:
          type: string
        type:
          type: string
      required:
        - name
      type: object
    CreateSpanResponse:
      properties:
        data:
          properties:
            id:
              type: string
            name:
              type: string
            parent_id:
              type: string
            trace_id:
              type: string
            type:
              type: string
          required:
            - id
            - trace_id
            - name
          type: object
      required:
        - data
      type: object
    ErrorResponse:
      properties:
        error:
          properties:
            code:
              type: string
            details:
              description: Any value
            message:
              type: string
          required:
            - code
            - message
          type: object
        meta:
          type: object
      required:
        - error
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: API Key
      description: API key authentication. Pass your API key as a Bearer token.
      scheme: bearer
      type: http

````