Ingest Endpoints
The ingest service (port 9005) receives OpenTelemetry data and publishes it to NATS JetStream.
POST /v1/logs
Section titled “POST /v1/logs”Ingest OTLP log records.
POST /v1/logsAuthorization: Bearer gck_your_keyContent-Type: application/jsonAccepts OTLP LogsData in JSON or Protobuf format. Supports gzip-compressed bodies (Content-Encoding: gzip).
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 in JSON or Protobuf format.
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 in JSON or Protobuf format.
Response: 200 OK on success.
GET /health
Section titled “GET /health”Health check endpoint.
GET /healthResponse:
{ "status": "healthy", "nats": "connected"}Returns 503 with Retry-After: 5 header if NATS is unhealthy.
- All three OTLP endpoints support both JSON and Protobuf content types, auto-detected via
Content-Typeheader - Gzip decompression is handled transparently
- Oversized payloads return
413 Payload Too Large - The ingest service is stateless — it publishes to NATS and returns immediately
- Data flows: Ingest → NATS JetStream → S3 writer (in the Prism Engine)