Who this is for. Admins and managers: the key is issued under Settings → Sensors & Predictions. Anyone who writes firmware or automations can do the posting — there is nothing to install on the device side beyond an HTTP POST.
What You Need
1
Get an ingest key
Issue it in Settings → Sensors & Predictions. It is shown once, so copy it when it appears.
2
Get an asset ID
Use the copy button beside each asset on the same settings page.
3
Have something that can POST JSON over HTTPS
That is the whole requirement.
The Endpoint
- equipment_id — the asset’s ID. Only assets in your own business are accepted.
- metric — one of
temperature_c,pressure_kpa,vibration_mm_s,runtime_hours,error_codes. - value — the number. unit is optional, 20 characters max.
- recorded_at — any ISO 8601 spelling. Omit it and the server stamps the arrival time; send a time without a zone and it is read as UTC.
- Up to 200 readings per request — batch a queue rather than posting once per sample.
Send Your First Reading
1
Open Settings → Sensors & Predictions
The Connect a device section shows the endpoint and a complete
curl example.2
Issue a key
The
curl example fills in with your key the moment it is issued.3
Run it
Swap
ASSET_UUID for a copied asset ID and run the command, or paste the key into Send a test reading and press the button.4
Confirm
The key row shows Last used the moment the endpoint accepts a batch.
Recipes
- ESP32 / Arduino
- Raspberry Pi (Python)
- Home Assistant
- Node-RED
- Make, Zapier or any webhook platform
How Readings Are Used
Readings above their threshold count as fault signals in asset health scoring. Thresholds and per-metric switches live on the same settings page:- A metric switched off still records readings but never affects a score.
- Switching an asset off stops its feed entirely without deleting history.
- The sample the test button posts is runtime hours, which has no default threshold — connecting can never alarm on its own.
Common Problems
404 No matching equipment
404 No matching equipment
The asset ID does not belong to your business, or sensors are switched off for that asset.
400 invalid_payload
400 invalid_payload
The reply lists the index and field that failed — usually a typo in
metric or a malformed timestamp.Readings arrive but the score does not move
Readings arrive but the score does not move
They are below threshold, or the metric is switched off — both are by design.
The device cannot reach the endpoint
The device cannot reach the endpoint
It is plain HTTPS POST — no VPN, no mTLS. Test the same URL from a laptop with the curl example first.