Provisioning
Provisioning connects a physical or logical device to Infuse IoT so it can authenticate and communicate with the platform.
Current Infuse IoT provisioning is API-led. Your backend should own the workflow, keep admin credentials server-side, and persist the returned device identifiers and provisioning material in your own secure systems.
Provisioning Flow
- Resolve or create the owning organisation with
GET /organisationorPOST /organisation. - Resolve or create the board profile with
GET /boardorPOST /board. - Resolve or create a network with
GET /networkorPOST /networkif your deployment model uses networks. - Create the device with
POST /device, includingmcuId,boardId,organisationId, and any metadata you need for reconciliation. - Fetch the cloud public key with
GET /key/publicKey. - Generate shared or derived device key material with
/key/sharedSecretand/key/derived/device. - Generate an organisation-scoped MQTT token with
POST /mqtt/tokenwhen your device or broker integration needs MQTT access. - Confirm the device can communicate by reading state or last-route data.
Key Workflows
Infuse IoT exposes key endpoints for secure provisioning and device communication:
| Task | Endpoint |
|---|---|
| Fetch current cloud public key | GET /key/publicKey |
| Generate a shared secret from a device public key | POST /key/sharedSecret |
| Derive a device encryption key | POST /key/derived/device |
Keep key derivation and secret handling inside trusted backend or manufacturing systems. Device-specific credentials should be rotated if a device is replaced, reassigned, or exposed.
Connectivity Credentials
Use POST /mqtt/token to issue a short-lived MQTT token scoped to an organisation. The request includes organisationId and ttlSeconds; the response includes the token, issue time, and expiry time.
MQTT tokens are not a replacement for long-term credential management. Issue them from a trusted backend and respect the expiry time in device or gateway code.
Related Endpoints
| Group | Endpoint |
|---|---|
| Organisations | GET /organisation, POST /organisation, GET /organisation/id/{id}, GET /organisation/name/{name} |
| Boards | GET /board, POST /board, GET /board/id/{id} |
| Networks | GET /network, POST /network |
| Devices | POST /device, GET /device/deviceId/{deviceId}, GET /device/id/{id} |
| Keys | GET /key/publicKey, POST /key/sharedSecret, POST /key/derived/device |
| MQTT | POST /mqtt/token |
For a full sequence, see Connect an IoT Device.