Skip to content

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 now

3 · 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.