- Base URL:
https://api.agentvista.dev/api/v1 - Auth:
Authorization: Bearer <api_key>withwritescope - Content-Type:
application/json
Ingest OTLP traces
POST /otlp/v1/traces
Accepts OTLP/HTTP JSON trace data. AgentVista translates the payload into its internal format and stores traces and spans alongside native SDK traces.
Translation rules:
service.nameresource attribute → Agent name (auto-created if new)- OTLP span kinds (
SERVER,CLIENT, etc.) → AgentVista span type values - OTLP hex
traceId/spanId→ UUID format - OTLP status code
2(ERROR) →status: "failed", codes0/1→"completed"
400 for malformed JSON or a missing resourceSpans key. Returns 429 if your monthly event limit is exceeded.
Request body
object[]
required
OTLP
ExportTraceServiceRequest.resourceSpans array. See the OTLP specification for the full schema.Response — 200
number
Number of traces successfully ingested.
number
Number of traces that failed ingestion.
object[]
Per-trace error objects containing
trace_id and error for any rejected traces.Ingest OTLP metrics
POST /otlp/v1/metrics
Accepts OTLP/HTTP JSON metrics data. Each data point is stored as a MetricDataPoint associated with a named Metric stream. Returns 400 for malformed JSON or a missing resourceMetrics key.
Request body
object[]
required
OTLP
ExportMetricsServiceRequest.resourceMetrics array.Response — 200
number
Number of data points successfully ingested.
Ingest OTLP logs
POST /otlp/v1/logs
Accepts OTLP/HTTP JSON log data. Log records with traceId and spanId are linked to their parent trace for cross-signal navigation. Returns 400 for malformed JSON.
Request body
object[]
required
OTLP
ExportLogsServiceRequest.resourceLogs array.Response — 200
number
Number of log records successfully ingested.
OpenTelemetry Collector configuration
Configure theotlphttp exporter in your collector to send all three signals to AgentVista:
otel-collector-config.yaml
Python OpenTelemetry SDK
Python SDK example