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/jsonAuthentication
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
| Field | Role |
|---|---|
| apiKey | Tenant-scoped secret |
| modelName | Inference workload identifier |
| avgLatencyMs, minLatencyMs, maxLatencyMs | Batch latency statistics |
| consistencyScore | Derived QoS-style signal |
| startBatteryTemp, endBatteryTemp, thermalStatus | Thermal envelope |
| deviceModel, manufacturer, socModel, platform | Device 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.