Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/openobserve-traces-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
OpenAPI Specification
openapi: 3.1.0
info:
title: openobserve Actions Traces API
description: OpenObserve API documents [https://openobserve.ai/docs/](https://openobserve.ai/docs/)
contact:
name: OpenObserve
url: https://openobserve.ai/
email: hello@zinclabs.io
license:
name: AGPL-3.0
identifier: AGPL-3.0
version: 0.90.0
tags:
- name: Traces
description: Traces data ingestion operations
paths:
/api/{org_id}/traces/service_graph/topology/current:
get:
tags:
- Traces
summary: Get current service graph topology
description: Returns service graph topology from stream storage (last 60 minutes). Stream-only - NO in-memory metrics.
operationId: GetCurrentServiceGraphTopology
parameters:
- name: org_id
in: path
description: Organization name
required: true
schema:
type: string
- name: stream_name
in: query
description: Optional stream name to filter service graph topology
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'403':
description: Forbidden - Enterprise feature
content:
application/json:
schema:
type: string
'500':
description: Internal Server Error
content:
application/json:
schema:
default: null
security:
- Authorization: []
x-o2-ratelimit:
module: Traces
operation: service_graph_topology
/api/{org_id}/v1/traces:
post:
tags:
- Traces
summary: Ingest trace data
description: Accepts and processes distributed tracing data from applications and services. Supports both Protocol Buffers and JSON formats for OTLP (OpenTelemetry Protocol) trace ingestion. Use this endpoint to send trace spans, timing information, and service dependency data for observability and performance monitoring.
operationId: PostTraces
parameters:
- name: org_id
in: path
required: true
schema:
type: string
requestBody:
description: ExportTraceServiceRequest
content:
application/x-protobuf:
schema:
type: string
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
example:
code: 200
'500':
description: Failure
content:
application/json:
schema:
default: null
security:
- Authorization: []
x-o2-mcp:
enabled: false
/api/{org_id}/{stream_name}/traces/latest:
get:
tags:
- Traces
summary: Get recent trace data
description: Retrieves the most recent trace data from a specific stream within a time range. Returns trace summaries including trace IDs, span counts, service names, and timing information. You can filter results and control pagination to analyze distributed system performance and identify bottlenecks or errors in your applications.
operationId: GetLatestTraces
parameters:
- name: org_id
in: path
description: Organization name
required: true
schema:
type: string
- name: stream_name
in: path
description: Stream name
required: true
schema:
type: string
- name: filter
in: query
description: 'filter, eg: a=b AND c=d'
required: false
schema:
type: string
- name: from
in: query
description: from
required: true
schema:
type: integer
format: int64
- name: size
in: query
description: size
required: true
schema:
type: integer
format: int64
- name: start_time
in: query
description: start time
required: true
schema:
type: integer
format: int64
- name: end_time
in: query
description: end time
required: true
schema:
type: integer
format: int64
- name: timeout
in: query
description: timeout, seconds
required: false
schema:
type: integer
format: int64
- name: sort_by
in: query
description: 'sort by field: start_time, duration (default: start_time)'
required: false
schema:
type: string
- name: sort_order
in: query
description: 'sort order: asc, desc (default: desc)'
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
example:
took: 155
hits:
- trace_id: '12345678'
spans:
- 1
- 2
service_name:
- job1: 1
job2: 0
first_event:
start_time: 1234567890
operation_name: operation_name
'400':
description: Failure
content:
application/json:
schema:
default: null
'500':
description: Failure
content:
application/json:
schema:
default: null
security:
- Authorization: []
/api/{org_id}/{stream_name}/traces/session:
get:
tags:
- Traces
summary: Get recent session data
description: Retrieves the most recent LLM session data from a specific trace stream within a time range. Sessions group multiple traces that share the same session ID. Returns session summaries including session IDs, trace counts, LLM usage statistics, cost, and timing information.
operationId: GetLatestSessions
parameters:
- name: org_id
in: path
description: Organization name
required: true
schema:
type: string
- name: stream_name
in: path
description: Stream name
required: true
schema:
type: string
- name: filter
in: query
description: 'filter, eg: a=b AND c=d'
required: false
schema:
type: string
- name: from
in: query
description: from
required: true
schema:
type: integer
format: int64
- name: size
in: query
description: size
required: true
schema:
type: integer
format: int64
- name: start_time
in: query
description: start time
required: true
schema:
type: integer
format: int64
- name: end_time
in: query
description: end time
required: true
schema:
type: integer
format: int64
- name: timeout
in: query
description: timeout, seconds
required: false
schema:
type: integer
format: int64
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
example:
took: 155
total: 2
from: 0
size: 10
hits:
- session_id: session-abc-123
start_time: 1234567890
end_time: 1234567900
duration: 10
trace_count: 3
llm_usage_tokens_input: 100
llm_usage_tokens_output: 50
llm_usage_tokens_total: 150
llm_usage_cost_total: 0.005
'400':
description: Failure
content:
application/json:
schema:
default: null
'500':
description: Failure
content:
application/json:
schema:
default: null
security:
- Authorization: []
/api/{org_id}/{stream_name}/traces/user:
get:
tags:
- Traces
summary: Get recent user data
description: Retrieves the most recent LLM user data from a specific trace stream within a time range. Users group multiple traces that share the same user ID. Returns user summaries including user IDs, event counts, LLM usage statistics, cost, and timing information.
operationId: GetLatestUsers
parameters:
- name: org_id
in: path
description: Organization name
required: true
schema:
type: string
- name: stream_name
in: path
description: Stream name
required: true
schema:
type: string
- name: filter
in: query
description: 'filter, eg: a=b AND c=d'
required: false
schema:
type: string
- name: from
in: query
description: from
required: true
schema:
type: integer
format: int64
- name: size
in: query
description: size
required: true
schema:
type: integer
format: int64
- name: start_time
in: query
description: start time
required: true
schema:
type: integer
format: int64
- name: end_time
in: query
description: end time
required: true
schema:
type: integer
format: int64
- name: timeout
in: query
description: timeout, seconds
required: false
schema:
type: integer
format: int64
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
example:
took: 155
total: 2
from: 0
size: 10
hits:
- user_id: user-12345
first_event: 1234567890
last_event: 1234567900
total_events: 16
llm_usage_tokens_total: 885
llm_usage_cost_total: 105.3
'400':
description: Failure
content:
application/json:
schema:
default: null
'500':
description: Failure
content:
application/json:
schema:
default: null
security:
- Authorization: []
/api/{org_id}/{stream_name}/traces/{trace_id}/dag:
get:
tags:
- Traces
summary: Get trace DAG structure
description: Retrieves the DAG (Directed Acyclic Graph) structure of all spans for a specific trace. Returns nodes (spans) and edges (parent-child relationships) that can be visualized as a trace execution graph. Each node contains span details like service name, operation, and status information.
operationId: GetTraceDAG
parameters:
- name: org_id
in: path
description: Organization name
required: true
schema:
type: string
- name: stream_name
in: path
description: Stream name
required: true
schema:
type: string
- name: trace_id
in: path
description: Trace ID
required: true
schema:
type: string
- name: start_time
in: query
description: start time in microseconds
required: true
schema:
type: integer
format: int64
- name: end_time
in: query
description: end time in microseconds
required: true
schema:
type: integer
format: int64
- name: timeout
in: query
description: timeout, seconds
required: false
schema:
type: integer
format: int64
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
example:
trace_id: '12345678'
nodes:
- span_id: span1
parent_span_id: null
service_name: frontend
operation_name: GET /api
span_status: OK
edges:
- from: span1
to: span2
'400':
description: Failure
content:
application/json:
schema:
default: null
'500':
description: Failure
content:
application/json:
schema:
default: null
security:
- Authorization: []
components:
securitySchemes:
Authorization:
type: apiKey
in: header
name: Authorization
BasicAuth:
type: http
scheme: basic