Quickstart
From zero to live telemetry in four steps: create a fleet, mint an ingest key, define a payload rule, and point your firmware at the ingest endpoint.
1 · Create a fleet and a device
POST /v1/fleets {"name": "field-pilots"}
POST /v1/fleets/{fleet_id}/devices
{"name": "field-unit-01"}2 · Mint an ingest key
Keys are fleet-scoped and shown once — only an Argon2 hash is stored. A key for fleet A can never write data for fleet B.
POST /v1/fleets/{fleet_id}/keys
→ {"key": "vsk_…", "prefix": "vsk_AbC12345"} # save it now3 · Define a payload rule
A rule is a declarative bit layout — see the Payload rules page. Activate it and every frame from the fleet decodes into named metrics.
4 · Send a frame
curl -X POST https://api.volatilesys.com/v1/ingest \
-H "X-Ingest-Key: vsk_…" \
-H "Content-Type: application/json" \
-d '{"device_id": "…", "payload_hex": "2BE217D4520E8239082F82"}'Frames land on a Redis Stream buffer, decode off the request path, and appear on the dashboard within seconds. MQTT transport is available on the same key — topic ingest/{fleet_id}/{device_id}.
Raw frames are retained (per your plan's window) so changing a rule can re-decode history — you never lose data to a decoding mistake.