Ingest traces via OTLP
POST/otlp/v1/traces
Ingest traces via the OTLP/HTTP protobuf protocol.
This endpoint accepts a serialized
ExportTraceServiceRequest protobuf. Point any OTLP/HTTP
collector or SDK at POST /otlp/v1/traces and spans will flow
into the same ingest stream as the Agenta-native endpoints.
Use this when you already have OTel instrumentation emitting
OTLP. For new integrations that don't need raw OTLP, prefer
POST /tracing/spans/ingest — it takes JSON, accepts Agenta's
nested shape directly, and surfaces parse failures immediately.
Content-Type and size limit
Binary protobuf only (Content-Type: application/x-protobuf).
JSON OTLP is not accepted. Requests larger than the configured
batch limit (default 4 MB, see OTLP_MAX_BATCH_BYTES) return
413 Request Entity Too Large.
Response
Successful ingest returns 200 OK with a serialized
ExportTraceServiceResponse protobuf. Parse failures on the
request body return 400; malformed spans return 500; quota
exhaustion returns 403. Like the native ingest paths, spans
are queued on a Redis stream and persisted asynchronously — see
Tracing — Async write
contract.
Responses
- 200
Successful Response