Search Documentation
Find API endpoints, guides, and documentation pages
Getting Started with i2t Network
Welcome to the i2t Network IoT Platform. This guide will walk you through connecting your first device and sending telemetry data in under 10 minutes.
Prerequisites
- A running i2t Network instance (local Docker or cloud)
curlor any HTTP client for testing- (Optional) An MQTT client like
mosquitto_pub
Core Concepts
Before diving in, here are the key building blocks:
| Concept | What it is |
|---|---|
| Domain | A tenant workspace — all resources belong to a domain |
| User | A person who logs in and manages resources |
| Client (Device) | A physical or virtual IoT device that sends data |
| Channel | A communication topic — devices publish messages to channels |
| Group | A logical grouping of devices or channels for bulk operations |
How data flows
Device → (MQTT/HTTP/CoAP/WS) → Channel → Message Writers → Database
↓
Rule Engine → Alarms / Notifications
Step 1: Create a User Account
If you're using a fresh deployment, the platform creates a default admin user. Sign in at your instance URL (e.g., http://localhost:3000).
To create a user via API:
curl -X POST http://localhost/users \
-H "Content-Type: application/json" \
-d '{
"name": "Alice",
"credentials": {
"identity": "alice@example.com",
"secret": "strongpassword"
}
}'
Step 2: Obtain an Access Token
curl -X POST http://localhost/users/tokens/issue \
-H "Content-Type: application/json" \
-d '{
"identity": "alice@example.com",
"secret": "strongpassword"
}'
Save the returned access_token — you'll use it in all subsequent requests.
export TOKEN="your-access-token-here"
Step 3: Create a Device (Client)
curl -X POST http://localhost/clients \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "temperature-sensor-01",
"tags": ["outdoor", "weather"],
"metadata": {
"location": "Building A, Floor 3"
}
}'
The response includes the device id and a secret (API key). Save both:
export DEVICE_ID="returned-device-id"
export DEVICE_SECRET="returned-device-secret"
Step 4: Create a Channel
Channels are the communication topics. Devices publish messages to channels.
curl -X POST http://localhost/channels \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "weather-data"
}'
export CHANNEL_ID="returned-channel-id"
Step 5: Connect Device to Channel
curl -X POST http://localhost/channels/$CHANNEL_ID/connect \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"client_ids": ["'"$DEVICE_ID"'"],
"type": "publish"
}'
Step 6: Send Your First Message
Via HTTP
curl -X POST http://localhost/http/channels/$CHANNEL_ID/messages \
-H "Authorization: Client $DEVICE_SECRET" \
-H "Content-Type: application/senml+json" \
-d '[
{"bn":"temperature-sensor-01/", "n":"temperature", "u":"Cel", "v":23.5},
{"n":"humidity", "u":"%RH", "v":67.2}
]'
Via MQTT
mosquitto_pub -h localhost -p 1883 \
-u "$DEVICE_ID" -P "$DEVICE_SECRET" \
-t "channels/$CHANNEL_ID/messages" \
-m '[{"bn":"temperature-sensor-01/","n":"temperature","u":"Cel","v":23.5}]'
Step 7: Read Messages Back
curl -X GET "http://localhost/readers/channels/$CHANNEL_ID/messages?limit=10" \
-H "Authorization: Bearer $TOKEN"
What's Next?
- Dashboards — Create real-time visualizations of your device data
- Rule Chains — Set up automated workflows triggered by device events
- Alarms — Configure threshold-based alerts
- Groups — Organize devices into logical groups for bulk operations
- Bootstrap — Set up automatic device provisioning
Explore the API Reference section for full endpoint documentation, or browse Service Guides for in-depth explanations of each platform component.