Ingest Endpoints
The ingest service receives OpenTelemetry data and publishes it to NATS JetStream.
All three OTLP endpoints accept JSON only (OTLP/HTTP proto3 JSON mapping). Protobuf is not yet supported — requests with Content-Type: application/x-protobuf return 415 Unsupported Media Type. Gzip-compressed bodies (Content-Encoding: gzip) are decompressed transparently.
POST /v1/logs
Section titled “POST /v1/logs”Ingest OTLP log records.
POST /v1/logsAuthorization: Bearer gck_your_keyContent-Type: application/jsonAccepts OTLP LogsData as JSON.
Response: 200 OK on success.
POST /v1/metrics
Section titled “POST /v1/metrics”Ingest OTLP metric data points.
POST /v1/metricsAuthorization: Bearer gck_your_keyContent-Type: application/jsonAccepts OTLP MetricsData as JSON.
Response: 200 OK on success.
POST /v1/traces
Section titled “POST /v1/traces”Ingest OTLP trace spans.
POST /v1/tracesAuthorization: Bearer gck_your_keyContent-Type: application/jsonAccepts OTLP TracesData as JSON.
Response: 200 OK on success.
GET /health
Section titled “GET /health”Health check endpoint. Returns a plain-text body.
GET /healthResponse:
200 OKwith bodyokwhen NATS is connected.503 Service Unavailablewith bodynats unhealthywhen NATS is down.
The /health endpoint does not send Retry-After. That header is added only on the OTLP endpoints when the NATS publish pipeline is under backpressure (Retry-After: 5).
- OTLP endpoints accept JSON only; other content types return
415. - Oversized payloads return
413 Payload Too Large. - Under NATS backpressure, OTLP endpoints return
503withRetry-After: 5. - The ingest service is stateless — it publishes to NATS and returns immediately.
- Data flows: Ingest → NATS JetStream → S3 writer (in the Prism Engine).
Other ingest routes (plugin-internal)
Section titled “Other ingest routes (plugin-internal)”The service also exposes routes used by the Prism plugin, not documented here:
POST /v1/prompts— capture a prompt turn (plugin → Postgres)POST /v1/prompts/response— capture the matching responseGET /v1/plugin/config— runtime config resolution for the plugin
These are implementation details of the plugin pipeline and are not intended as a public API.
Engine proxy endpoints
Section titled “Engine proxy endpoints”For callers that can’t reach the internal engine, a small set of engine endpoints are proxied through ingest:
| Route | Method | Target |
|---|---|---|
/v1/telemetry/logs | GET | Engine — see Telemetry Endpoints |
/v1/insights/report | GET | Engine — see Insights Endpoints |
/v1/insights/report/generate | POST | Engine — see Insights Endpoints |
/v1/intelligence/prism | GET | Stub — returns a 410 pointer to GET /prism/scores (v2.1) or GET /v1/score_v3/score (v3.0) |
Proxy routes require the same gck_* authentication as any other ingest endpoint.