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

# Annotate a span

> Attach one or more annotations to a specific span. Each annotation references an evaluator by key and supplies a value (string for text/single-select, number for range, array for multi-select).



## OpenAPI

````yaml post /v2/traces/{trace_id}/spans/{span_id}/annotation
openapi: 3.1.0
info:
  title: orq.ai API
  version: '2.0'
  description: orq.ai API documentation
servers:
  - url: https://api.orq.ai
security:
  - ApiKey: []
tags:
  - description: List models available through the AI Router.
    name: Models
  - name: Guardrail Rules
  - name: Policies
  - name: Routing Rules
  - name: API keys
    description: >-
      API keys authenticate programmatic access to the workspace. The unified
      key model exposes opaque tokens, per-domain access grants, and budget /
      rate-limit constraints (see ADR 0001 and ADR 0002).
  - name: Budgets
    description: >-
      Budgets govern spend, token usage, and request rate across six scopes:
      workspace, project, identity, api-key, provider, and model. A budget is
      hierarchical and defense-in-depth — every applicable budget is a hard
      gate, and the most restrictive one wins per dimension (see ADR 0007).
  - name: Documentation
    description: >-
      Search the orq.ai documentation. Proxies the workspace's query to the
      hosted docs search index.
  - name: Files
    description: File upload and retrieval operations.
  - name: Identities
    description: >-
      Identities represent end users from your system for usage and engagement
      tracking.
  - name: Projects
    description: Projects organize resources within a workspace
  - name: Skills
    description: >-
      Skills are modular instructions you can use to codify processes and
      conventions
  - name: Responses
  - description: >-
      Run agents on a cadence — cron, interval, or one-off. Minimum firing
      interval is 1 hour.
    name: Agent Schedules
  - name: Embeddings
  - name: Reporting
    description: >-
      GenAI reporting API over canonical analytics rollups. Accepts a metric
      name, time range, grain, group-by, and filters; returns a typed time
      series and optional totals.
externalDocs:
  url: https://docs.orq.ai
  description: orq.ai Documentation
paths:
  /v2/traces/{trace_id}/spans/{span_id}/annotation:
    post:
      tags:
        - Annotations
      summary: Annotate a span
      description: >-
        Attach one or more annotations to a specific span. Each annotation
        references an evaluator by key and supplies a value (string for
        text/single-select, number for range, array for multi-select).
      operationId: CreateAnnotation
      parameters:
        - schema:
            type: string
            description: Unique identifier of the trace
          required: true
          description: Unique identifier of the trace
          name: trace_id
          in: path
        - schema:
            type: string
            description: Unique identifier of the span
          required: true
          description: Unique identifier of the span
          name: span_id
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                annotations:
                  type: array
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                        description: Unique key of the review.
                      value:
                        anyOf:
                          - type: string
                            minLength: 0
                            maxLength: 3000
                          - type: number
                          - type: array
                            items:
                              type: string
                            minItems: 1
                        description: >-
                          The feedback value. For single-select, provide a
                          string or single-element array. For multi-select,
                          provide an array of strings. For range evaluations,
                          provide a number. For text/correction, provide a
                          string.
                    required:
                      - key
                      - value
                  minItems: 1
                  maxItems: 10
                metadata:
                  type: object
                  properties:
                    identity_id:
                      type: string
              required:
                - annotations
      responses:
        '200':
          description: Span annotated
components:
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: JWT

````