Fighting Game · Guides & deep dives

Telemetry Ingestion Endpoint

The endpoint is framework-neutral.

3sections1 minread

On this page

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, and application/octet-stream
  • Accepted response: HTTP 202 with batchId, acceptedEventCount, queueName, queueDepth, and wireSchemaVersion

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:

bash
pnpm --filter @v2/telemetry-ingestion run typecheck
pnpm --filter @v2/telemetry-ingestion run test
python V2/ue/Tools/check-v2-telemetry-ingestion-endpoint.py