Arize AI Traces API

OTLP trace ingestion

OpenAPI Specification

arize-ai-traces-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Arize AX OTLP Ingestion Traces API
  version: 1.0.0
  summary: Best-effort OpenAPI for the Arize AX OpenTelemetry (OTLP/HTTP) ingestion endpoint.
  description: 'Arize AX is built on the OpenInference OpenTelemetry conventions and accepts

    traces over the OTLP/HTTP protocol. This spec covers the OTLP/HTTP trace

    ingestion endpoint. The native GRPC OTLP endpoint

    (https://otlp.arize.com/v1) is not modeled here because OpenAPI cannot

    describe GRPC. Arize AX also exposes a GraphQL API (Admin, Annotations,

    Custom Metrics, Dashboards, Models, Monitors, etc.) and a REST API, each

    documented at https://arize.com/docs/ax.


    Authentication is performed via the space_id and api_key headers, both

    obtained from the Arize AX Settings page. An EU regional endpoint is also

    available via Endpoint.ARIZE_EUROPE in the arize-otel SDK.


    This is a best-effort spec derived from public docs and the arize-otel SDK.

    '
  contact:
    name: Arize AI
    url: https://arize.com/docs/ax
servers:
- url: https://otlp.arize.com
  description: Arize AX OTLP ingestion (global)
security:
- ArizeApiKey: []
  ArizeSpaceId: []
tags:
- name: Traces
  description: OTLP trace ingestion
paths:
  /v1/traces:
    post:
      tags:
      - Traces
      summary: Ingest OpenTelemetry traces (OTLP/HTTP)
      description: 'Accepts an OpenTelemetry ExportTraceServiceRequest payload encoded as

        either Protobuf (application/x-protobuf) or JSON (application/json). Use

        the space_id and api_key headers (or the OTLP standard authorization

        header carrying the same key) to authenticate.

        '
      operationId: exportTraces
      parameters:
      - in: header
        name: space_id
        required: true
        schema:
          type: string
        description: Arize AX Space ID, found in Settings.
      - in: header
        name: api_key
        required: true
        schema:
          type: string
        description: Arize AX API Key, found in Settings.
      - in: header
        name: Content-Type
        required: true
        schema:
          type: string
          enum:
          - application/x-protobuf
          - application/json
      requestBody:
        required: true
        content:
          application/x-protobuf:
            schema:
              type: string
              format: binary
              description: Protobuf-encoded OTLP ExportTraceServiceRequest.
          application/json:
            schema:
              $ref: '#/components/schemas/ExportTraceServiceRequest'
      responses:
        '200':
          description: Traces accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportTraceServiceResponse'
        '400':
          description: Malformed payload.
        '401':
          description: Missing or invalid space_id / api_key.
        '413':
          description: Payload too large.
        '429':
          description: Rate limited.
components:
  schemas:
    ResourceSpans:
      type: object
      properties:
        resource:
          type: object
          properties:
            attributes:
              type: array
              items:
                $ref: '#/components/schemas/KeyValue'
        scopeSpans:
          type: array
          items:
            type: object
            properties:
              scope:
                type: object
                properties:
                  name:
                    type: string
                  version:
                    type: string
              spans:
                type: array
                items:
                  $ref: '#/components/schemas/Span'
    ExportTraceServiceRequest:
      type: object
      description: 'OTLP ExportTraceServiceRequest. See the opentelemetry-proto repo for the

        canonical schema. Modeled here loosely to keep this spec self-contained.

        '
      properties:
        resourceSpans:
          type: array
          items:
            $ref: '#/components/schemas/ResourceSpans'
    Span:
      type: object
      properties:
        traceId:
          type: string
        spanId:
          type: string
        parentSpanId:
          type: string
        name:
          type: string
        kind:
          type: integer
        startTimeUnixNano:
          type: string
        endTimeUnixNano:
          type: string
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/KeyValue'
        status:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
    KeyValue:
      type: object
      properties:
        key:
          type: string
        value:
          type: object
    ExportTraceServiceResponse:
      type: object
      properties:
        partialSuccess:
          type: object
          properties:
            rejectedSpans:
              type: integer
              format: int64
            errorMessage:
              type: string
  securitySchemes:
    ArizeApiKey:
      type: apiKey
      in: header
      name: api_key
      description: Arize AX API Key (paired with space_id header).
    ArizeSpaceId:
      type: apiKey
      in: header
      name: space_id
      description: Arize AX Space ID.