Phase 72.5.1.4 adds @v2/telemetry-ingestion, the server-side entry point for
client telemetry batches.
Endpoint#
- Route:
POST /v2/telemetry/ingest - JSON content type:
application/json - Protobuf content types:
application/x-protobuf,application/protobuf, andapplication/octet-stream - Accepted response: HTTP
202withbatchId,acceptedEventCount,queueName,queueDepth, andwireSchemaVersion
The endpoint is framework-neutral. createTelemetryIngestionEndpoint returns a
handler that can be mounted by a Fastify, Hono, gateway, or edge adapter without
changing the validation and queue-write contract.
Validation#
handleTelemetryIngestionRequest decodes JSON or protobuf TelemetryEventBatch
payloads, validates wire schema 1.0.0, enforces the Phase 72 standard topic
required fields, and rejects forbidden payload keys: account_id, email,
ip_address, platform_user_id, and raw_log_line.
Batches with unsupported schema versions, empty event lists, too many events, invalid UUIDs, malformed protobuf, unknown content types, or missing standard topic fields are rejected before queue writes.
Queue Contract#
Accepted batches are written through the TelemetryQueue adapter. The local
MemoryTelemetryQueue is used only for tests and development. Production
deployments must provide an adapter that writes to v2-telemetry-firehose,
which is consumed by the Phase 72.5.1.5 telemetry data pipeline.
Targeted verification:
pnpm --filter @v2/telemetry-ingestion run typecheck
pnpm --filter @v2/telemetry-ingestion run test
python V2/ue/Tools/check-v2-telemetry-ingestion-endpoint.py