REST · Ingestion

Telemetry API

HTTP contract used by the Teleneura native SDK after batching edge samples. Each payload carries model latency statistics, thermal context, and device provenance — keyed by your console secret so rows land in the correct tenant inside Yasmo Systems.

Prefer native SDKs?

For React Native and Flutter on Android, use the bridges — they call this contract from Kotlin after batching and enrichment:

Endpoint

POST {baseUrl}/api/telemetry
Content-Type: application/json

Authentication

Include your full API secret in the JSON field apiKey (e.g. ys_live_… or ys_test_…). The backend hashes the key, resolves tenant_id, and rejects unknown or revoked keys with 401 Unauthorized.

Required JSON fields

FieldRole
apiKeyTenant-scoped secret
modelNameInference workload identifier
avgLatencyMs, minLatencyMs, maxLatencyMsBatch latency statistics
consistencyScoreDerived QoS-style signal
startBatteryTemp, endBatteryTemp, thermalStatusThermal envelope
deviceModel, manufacturer, socModel, platformDevice provenance

Optional: isQuantized (boolean).

Native pipeline

The Kotlin Multiplatform module teleneura-sdk-KMP (packages/teleneura-sdk-KMP/shared) batches per-model latency samples on-device, aggregates statistics, attaches thermal and device metadata, then POSTs to this endpoint. The NPM package teleneura-react-native exposes Teleneura.init, reportInference, and flush to that runtime — no JSON assembly in JavaScript.