Data Lake API Documentation
Programmatically ingest sensor data and query analyzed insights from the CONCORDE Data Lake
Get API Key
Contact your administrator to obtain an API key with appropriate permissions
Make Request
Include your API key in the Authorization header of your requests
Process Data
Receive JSON responses and integrate with your applications
Base URL
https://it4est.konnektable.comAll API requests require authentication using an API key. Include your key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Security Note: Keep your API key secret. Never expose it in client-side code or public repositories.
Ingest sensor data into the Data Lake. Supports batch ingestion of multiple records.
Required Permission:
Request Body:
{
"data": [
{
"source_name": "drone-alpha-001",
"source_type": "drone",
"data_type": "telemetry",
"latitude": 37.7749,
"longitude": -122.4194,
"altitude": 120,
"temperature": 22.5,
"humidity": 65,
"payload": {
"battery_level": 85,
"speed_kmh": 25,
"heading": 180
}
},
{
"source_name": "sensor-chem-01",
"source_type": "chemical_sensor",
"data_type": "environmental",
"latitude": 37.7750,
"longitude": -122.4195,
"temperature": 24.0,
"air_quality": 75,
"chemical_reading": {
"co2": 420,
"co": 8,
"no2": 15
}
}
]
}Field Descriptions:
source_namestringUnique identifier for the data sourcesource_typeenumdrone, smartwatch, chemical_sensor, etc.data_typeenumtelemetry, vitals, environmental, etc.latitudenumberGPS latitude (optional)longitudenumberGPS longitude (optional)temperaturenumberTemperature in Celsius (optional)payloadobjectCustom sensor data (optional)Response (200 OK):
{
"success": true,
"ingested": 2,
"failed": 0,
"results": [
{ "success": true, "id": "sensor_abc123" },
{ "success": true, "id": "sensor_def456" }
]
}Code Examples:
JavaScript / Node.js
const response = await fetch('https://it4est.konnektable.com/api/ingest', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: [{
source_name: 'drone-001',
source_type: 'drone',
data_type: 'telemetry',
latitude: 37.7749,
longitude: -122.4194,
temperature: 22.5
}]
})
});
const result = await response.json();
console.log(result);Python
import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
data = {
'data': [{
'source_name': 'drone-001',
'source_type': 'drone',
'data_type': 'telemetry',
'latitude': 37.7749,
'longitude': -122.4194,
'temperature': 22.5
}]
}
response = requests.post('https://it4est.konnektable.com/api/ingest',
json=data,
headers=headers)
print(response.json())cURL
curl -X POST https://it4est.konnektable.com/api/ingest \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": [{
"source_name": "drone-001",
"source_type": "drone",
"data_type": "telemetry",
"latitude": 37.7749,
"longitude": -122.4194
}]
}'Rate Limits
Rate limits are configurable per API key:
- • Default: 1,000 requests per hour
- • Default: 100 requests per minute
- • Contact your administrator for custom limits
HTTP Status Codes
Error Response Format
{
"error": "Rate limit exceeded",
"message": "You have exceeded your hourly rate limit"
}Need Help?
Contact your system administrator for API key access, custom rate limits, or technical support.