Skip to content

API Overview

The SiliconWit.IO API provides programmatic access to your devices and data.

https://api.siliconwit.io/v1

All API requests require authentication via API key:

Terminal window
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.siliconwit.io/v1/devices
  1. Go to Dashboard → Settings → API Keys
  2. Click Create API Key
  3. Name your key and set permissions
  4. Copy the key (shown only once)
PermissionAccess
read:devicesList and view devices
write:devicesCreate, update, delete devices
read:dataQuery telemetry data
write:dataPush data via API
read:alertsView alerts
write:alertsManage alert rules
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

JSON format for POST/PUT requests:

{
"name": "New Device",
"type": "sensor"
}
{
"success": true,
"data": {
"id": "dev_abc123",
"name": "New Device"
}
}
{
"success": false,
"error": {
"code": "INVALID_REQUEST",
"message": "Device name is required"
}
}
CodeMeaning
200Success
201Created
400Bad Request
401Unauthorized
403Forbidden
404Not Found
429Rate Limited
500Server Error
PlanRequests/min
Starter60
Business300
EnterpriseCustom

Rate limit headers:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1704067260

List endpoints support pagination:

Terminal window
GET /v1/devices?page=1&limit=20

Response includes pagination info:

{
"data": [...],
"pagination": {
"page": 1,
"limit": 20,
"total": 45,
"pages": 3
}
}

Filter results with query parameters:

Terminal window
# Devices by type
GET /v1/devices?type=sensor
# Devices by status
GET /v1/devices?status=online
# Data by time range
GET /v1/devices/abc123/data?from=2024-01-01&to=2024-01-31
MethodEndpointDescription
GET/devicesList all devices
POST/devicesCreate device
GET/devices/:idGet device
PUT/devices/:idUpdate device
DELETE/devices/:idDelete device
MethodEndpointDescription
GET/devices/:id/dataGet device data
POST/devices/:id/dataPush data point
MethodEndpointDescription
GET/alertsList alert rules
POST/alertsCreate alert
GET/alerts/historyGet alert history

Official libraries:

  • JavaScript/Node.js: npm install @siliconwit/sdk
  • Python: pip install siliconwit