The EcoThermiq API allows IoT devices to push temperature sensor readings and provides full CRUD management for customers, devices, addresses, services and more. All communication uses JSON over HTTPS.
Base URL: https://your-domain.com/api/
Every CRUD endpoint supports: GET (list/single), POST (add),
PUT (update), DELETE (delete).
Alternatively use POST?action=update or POST?action=delete.
Every CRUD endpoint accepts GET (list/single by PK), POST (add), PUT (update), DELETE (delete).
All CRUD endpoints follow the same pattern. Example using /api/customer:
curl "http://your-domain.com/api/customer?limit=10&offset=0" # Filter by column: curl "http://your-domain.com/api/customer?IsReseller=1" # Get single by PK: curl "http://your-domain.com/api/customer?CustomerId=5"
curl -X POST http://your-domain.com/api/customer \
-H "Content-Type: application/json" \
-d '{
"CustomerNumber": "CUST-001",
"FirstName": "Jan",
"Prefix": "van",
"LastName": "Dijk",
"IsReseller": 0
}'
curl -X PUT http://your-domain.com/api/customer \
-H "Content-Type: application/json" \
-d '{
"CustomerId": 5,
"LastName": "de Vries"
}'
curl -X DELETE http://your-domain.com/api/customer \
-H "Content-Type: application/json" \
-d '{ "CustomerId": 5 }'
Submit temperature sensor readings from a device. The DateTime ISO 8601
timestamp (e.g. 2026-04-21T23:50:05Z) is converted to a MySQL DATETIME automatically.
Authentication is via customer_api key stored in the CustomerApi table.
{
"solution": "EcoThermiq",
"customer": {
"customer_number": "CUST-001",
"DeviceId": "Dvesdf1234",
"customer_api": "api_key_abc123",
"DateTime": "2026-04-21T23:50:05Z"
},
"temperature_sensors": [
{
"sensor_number": "S001",
"sensor_technical_id": "sensor_id_001",
"sensor_name": "Temperature Sensor 1",
"sensor_temperature_celsius": 25.0,
"sensor_temperature_fahrenheit": 77.0,
"sensor_temperature_kelvin": 298.15
},
{
"sensor_number": "S002",
"sensor_technical_id": "sensor_id_002",
"sensor_name": "Temperature Sensor 2",
"sensor_temperature_celsius": 30.0,
"sensor_temperature_fahrenheit": 86.0,
"sensor_temperature_kelvin": 303.15
}
]
}
{
"status": "success",
"data": {
"message": "Temperature data saved successfully.",
"customer_number": "CUST-001",
"device_id": "Dvesdf1234",
"datetime": "2026-04-21 23:50:05",
"measurements_saved": 2
}
}
{
"status": "error",
"message": "Invalid API key."
}
All endpoints return JSON with status ("success" or "error").
Success responses include a data object. Error responses include a message
and optionally an errors array with field names.