Otlp
Already emit OpenTelemetry? You don’t need our SDK. Morse AI accepts standard OTLP directly, so an existing OTel pipeline can point at Morse without adding an SDK dependency to your app.
How it works
Morse’s ingestion is protocol-agnostic: the SDK path and the OTLP path both end up in the same persist function, so a trace looks identical in the UI regardless of how it arrived.
Endpoint
POST https://api.morsehq.dev/otlp/v1/tracesThis is HTTP only — there is no gRPC ingest endpoint today. If your exporter is configured for OTLP/gRPC, switch it to OTLP/HTTP and point it at the path above.
Use dev-api.morsehq.dev for the dev environment.
Content types
The endpoint accepts either:
application/x-protobuf— standard OTLP protobuf, converted internally and normalized the same way as JSON.application/json— OTLP JSON.
Auth
Send your Morse API key the same way you would for the SDK — as a bearer API key.
curl -X POST https://api.morsehq.dev/otlp/v1/traces \
-H "Authorization: Bearer $MORSE_API_KEY" \
-H "Content-Type: application/json" \
-d @spans.jsonNormalization
Every OTLP span is mapped into the same typed span model the SDK produces — agent, llm, tool,
http, db, or custom — before it’s persisted. Priority order: an explicit av.span_type
attribute, then gen_ai.* attributes, then db.system, then http.method / rpc.system, falling
back to the OTLP span kind.
There’s no separate “OTLP view” in the product — traces that arrive this way show up in Traces exactly like SDK-originated traces, with the same filters, the same verdict strip, and the same eval/context tabs.
How to use it
- Point your existing OTel SDK’s OTLP/HTTP exporter at
https://api.morsehq.dev/otlp/v1/traces(or the dev host) with your Morse API key as the bearer token. - Send either protobuf or JSON — don’t reconfigure your exporter’s encoding just for Morse.
- If you use semantic-convention
gen_ai.*attributes for LLM calls, they map straight to Morse’sllmspan type automatically.
Related
- Traces — where OTLP-ingested spans show up, alongside SDK-originated ones.
- MCP endpoint — query that same trace data from an MCP client.