Devices API
Devices API
Section titled “Devices API”Manage your IoT devices programmatically.
List Devices
Section titled “List Devices”Get all devices for your account.
GET /v1/devicesQuery Parameters
Section titled “Query Parameters”| Parameter | Type | Description |
|---|---|---|
page | number | Page number (default: 1) |
limit | number | Items per page (default: 20, max: 100) |
type | string | Filter by device type |
status | string | Filter by status (online, offline, inactive) |
search | string | Search by name |
Example Request
Section titled “Example Request”curl -X GET "https://api.siliconwit.io/v1/devices?status=online" \ -H "Authorization: Bearer YOUR_API_KEY"Example Response
Section titled “Example Response”{ "success": true, "data": [ { "id": "dev_abc123", "name": "Office Sensor", "type": "temperature", "status": "online", "last_seen": "2024-01-15T14:30:00Z", "created_at": "2024-01-01T00:00:00Z" }, { "id": "dev_def456", "name": "Warehouse Tracker", "type": "gps", "status": "online", "last_seen": "2024-01-15T14:29:00Z", "created_at": "2024-01-05T00:00:00Z" } ], "pagination": { "page": 1, "limit": 20, "total": 2, "pages": 1 }}Get Device
Section titled “Get Device”Retrieve a single device by ID.
GET /v1/devices/:idExample Request
Section titled “Example Request”curl -X GET "https://api.siliconwit.io/v1/devices/dev_abc123" \ -H "Authorization: Bearer YOUR_API_KEY"Example Response
Section titled “Example Response”{ "success": true, "data": { "id": "dev_abc123", "name": "Office Sensor", "type": "temperature", "description": "Main office temperature monitor", "status": "online", "last_seen": "2024-01-15T14:30:00Z", "last_data": { "temperature": 25.5, "humidity": 60 }, "settings": { "report_interval": 60, "offline_threshold": 300 }, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-15T14:30:00Z" }}Create Device
Section titled “Create Device”Register a new device.
POST /v1/devicesRequest Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Device name |
type | string | Yes | Device type |
description | string | No | Optional description |
settings | object | No | Device settings |
Example Request
Section titled “Example Request”curl -X POST "https://api.siliconwit.io/v1/devices" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "New Sensor", "type": "temperature", "description": "Kitchen temperature sensor" }'Example Response
Section titled “Example Response”{ "success": true, "data": { "id": "dev_xyz789", "name": "New Sensor", "type": "temperature", "description": "Kitchen temperature sensor", "status": "inactive", "access_token": "tok_xxxxxxxxxxxxxxxxxxxxxxxx", "created_at": "2024-01-15T15:00:00Z" }}Update Device
Section titled “Update Device”Update device properties.
PUT /v1/devices/:idRequest Body
Section titled “Request Body”| Field | Type | Description |
|---|---|---|
name | string | Device name |
description | string | Description |
settings | object | Device settings |
Example Request
Section titled “Example Request”curl -X PUT "https://api.siliconwit.io/v1/devices/dev_abc123" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Office Sensor (Main)", "settings": { "report_interval": 30 } }'Example Response
Section titled “Example Response”{ "success": true, "data": { "id": "dev_abc123", "name": "Office Sensor (Main)", "type": "temperature", "settings": { "report_interval": 30, "offline_threshold": 300 }, "updated_at": "2024-01-15T15:05:00Z" }}Delete Device
Section titled “Delete Device”Remove a device permanently.
DELETE /v1/devices/:idExample Request
Section titled “Example Request”curl -X DELETE "https://api.siliconwit.io/v1/devices/dev_abc123" \ -H "Authorization: Bearer YOUR_API_KEY"Example Response
Section titled “Example Response”{ "success": true, "message": "Device deleted successfully"}Deleting a device also removes all associated data. This cannot be undone.
Regenerate Token
Section titled “Regenerate Token”Generate a new access token for a device.
POST /v1/devices/:id/tokenExample Request
Section titled “Example Request”curl -X POST "https://api.siliconwit.io/v1/devices/dev_abc123/token" \ -H "Authorization: Bearer YOUR_API_KEY"Example Response
Section titled “Example Response”{ "success": true, "data": { "access_token": "tok_newxxxxxxxxxxxxxxxx" }}Send Command
Section titled “Send Command”Send a command to a connected device.
POST /v1/devices/:id/commandsRequest Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
command | string | Yes | Command name |
params | object | No | Command parameters |
Example Request
Section titled “Example Request”curl -X POST "https://api.siliconwit.io/v1/devices/dev_abc123/commands" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "command": "set_interval", "params": { "seconds": 60 } }'Example Response
Section titled “Example Response”{ "success": true, "data": { "command_id": "cmd_abc123", "status": "sent", "sent_at": "2024-01-15T15:10:00Z" }}Device Types
Section titled “Device Types”Common device types:
| Type | Description |
|---|---|
temperature | Temperature sensors |
humidity | Humidity sensors |
gps | GPS trackers |
motion | Motion detectors |
door | Door/window sensors |
power | Power monitors |
custom | Custom devices |
Error Codes
Section titled “Error Codes”| Code | Description |
|---|---|
DEVICE_NOT_FOUND | Device ID doesn’t exist |
DEVICE_LIMIT_REACHED | Plan device limit exceeded |
INVALID_DEVICE_TYPE | Unknown device type |
TOKEN_GENERATION_FAILED | Could not generate token |