Skip to content

API Overview

SiliconWit.IO provides two types of APIs:

APIBase URLAuthPurpose
Device APIsiliconwit.io/api/Device ID + Access TokenSend data from devices (MQTT or HTTP)
Public APIapi.siliconwit.io/v1/API Key (Bearer token)Server-to-server integration, read devices & telemetry

Two ways to send data from your devices:

MethodBest ForEndpoint
MQTTAlways-on devices, real-time streamsmqtt.siliconwit.io:8883
HTTPSimple integrations, serverless, cellular devicesPOST https://siliconwit.io/api/devices/ingest

Send telemetry data via a simple HTTP POST. Uses Device ID and Access Token.

Terminal window
curl -X POST https://siliconwit.io/api/devices/ingest \
-H "Content-Type: application/json" \
-d '{
"device_id": "YOUR_DEVICE_ID",
"access_token": "YOUR_ACCESS_TOKEN",
"data": {
"temperature": 25.5,
"humidity": 60
}
}'

Or with the token in the Authorization header:

Terminal window
curl -X POST https://siliconwit.io/api/devices/ingest \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"device_id": "YOUR_DEVICE_ID",
"data": {
"temperature": 25.5,
"humidity": 60
}
}'
StatusMeaning
400Missing device_id, access_token, or data
401Invalid device ID or access token
403Device is paused
500Server error

For persistent connections and real-time streaming, use MQTT:

Broker: mqtt.siliconwit.io
Port: 8883 (TLS required)
Username: Your Device ID
Password: Your Access Token
Topic: d/{device_id}/t

See MQTT Basics for full details.

The Public API at api.siliconwit.io lets you query your devices, telemetry, and alerts from your own backend, scripts, or third-party tools. It uses API Keys for authentication.

Available on Starter, Business, Scale, and Enterprise plans.

See Public API Reference for all endpoints.

Use CaseAuth MethodWhere to Get
Device → Platform (MQTT/HTTP)Device ID + Access TokenDashboard → Devices → Select device
Server → Platform (API)API Key (swk_...)Dashboard → Settings → API Keys

All data payloads should be JSON objects. The platform accepts any JSON structure:

{
"temperature": 25.5,
"humidity": 60,
"battery": 85,
"location": {"lat": -1.29, "lng": 36.82}
}

Timestamps are added automatically by the server. See Topics & Payloads for payload best practices.

Once data is flowing, view it in your Dashboard:

  • Select a device to see its telemetry
  • Data updates live every 15 seconds
  • Export to CSV or Excel from the device page