openapi: 3.1.0 info: title: Grafana Tempo HTTP Health Traces API description: The Grafana Tempo HTTP API provides endpoints for querying distributed traces, searching spans with TraceQL, discovering tag keys and values, and generating metrics from trace data. Tempo is compatible with Jaeger, Zipkin, and OpenTelemetry trace ingestion and query protocols. The API runs on the Tempo HTTP port (default 3200). version: 2.x contact: name: Grafana Tempo Community url: https://community.grafana.com/c/grafana-tempo/ email: tempo@grafana.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: http://localhost:3200 description: Local Tempo instance (default) - url: http://tempo:3200 description: Kubernetes service endpoint tags: - name: Traces description: Retrieve individual traces by trace ID paths: /api/traces/{traceID}: get: operationId: getTrace summary: Get Trace By ID description: Retrieve a complete trace by its trace ID. Returns all spans belonging to the trace in JSON format. Supports deep object storage search when the trace is not in recent cache. tags: - Traces parameters: - name: traceID in: path required: true description: Hexadecimal trace identifier schema: type: string pattern: ^[0-9a-fA-F]{16,32}$ - name: start in: query required: false description: Unix epoch start time for search window (seconds) schema: type: integer format: int64 - name: end in: query required: false description: Unix epoch end time for search window (seconds) schema: type: integer format: int64 responses: '200': description: Trace found and returned content: application/json: schema: $ref: '#/components/schemas/Trace' '404': description: Trace not found content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: Error: type: object description: API error response properties: error: type: string description: Error message KeyValue: type: object description: An attribute key-value pair properties: key: type: string value: type: object Trace: type: object description: A complete distributed trace containing all spans properties: batches: type: array description: OTLP resource span batches items: type: object properties: resource: type: object description: Resource attributes (service name, version, etc.) properties: attributes: type: array items: $ref: '#/components/schemas/KeyValue' scopeSpans: type: array description: Spans grouped by instrumentation scope items: type: object properties: scope: type: object properties: name: type: string version: type: string spans: type: array items: $ref: '#/components/schemas/Span' Span: type: object description: A single operation within a distributed trace properties: traceId: type: string description: Trace identifier (hex) spanId: type: string description: Span identifier (hex) parentSpanId: type: string description: Parent span identifier (hex) name: type: string description: Operation name kind: type: integer description: Span kind (0=unspecified, 1=internal, 2=server, 3=client, 4=producer, 5=consumer) startTimeUnixNano: type: string description: Start time in nanoseconds since Unix epoch endTimeUnixNano: type: string description: End time in nanoseconds since Unix epoch attributes: type: array description: Span attributes items: $ref: '#/components/schemas/KeyValue' status: type: object description: Span status properties: code: type: integer description: Status code (0=unset, 1=ok, 2=error) message: type: string externalDocs: description: Grafana Tempo API Documentation url: https://grafana.com/docs/tempo/latest/api_docs/