Guides
Ingest telemetry
Push production data into Factory OS over MQTT or REST.
MQTT (preferred)
For sample rates above 1 Hz, publish to MQTT. Topic convention:
factories/<factory-slug>/machines/<machine-code>/telemetryPayload:
{
"ts": "2026-04-18T12:00:00.123Z",
"metrics": {
"temp_c": 72.4,
"pressure_bar": 120,
"state": "running"
}
}Timestamps must be ISO 8601 UTC. Missing ts uses server time at receipt.
REST batch
For integrations that can't use MQTT, POST batches of up to 500 samples:
curl -X POST https://api.xentr.ai/api/monitoring/telemetry \
-H "Authorization: Bearer $XENTR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"machineCode": "CNC-001",
"samples": [
{ "ts": "2026-04-18T12:00:00Z", "metrics": { "temp_c": 72.4 } },
{ "ts": "2026-04-18T12:00:05Z", "metrics": { "temp_c": 72.8 } }
]
}'Backfill
Historical backfills are supported for up to 90 days. Use the same batch endpoint — timestamps older than 90 days are rejected.
Buffering and gaps
Edge drivers use a write-ahead log and gap-detection. If the network drops, samples buffer locally and flush on reconnect. The Data Quality API exposes gap reports per machine.