API Documentation

Data Lake API Documentation

Programmatically ingest sensor data and query analyzed insights from the CONCORDE Data Lake

RESTful API
Rate Limited
JSON Format
Quick Start
1

Get API Key

Contact your administrator to obtain an API key with appropriate permissions

2

Make Request

Include your API key in the Authorization header of your requests

3

Process Data

Receive JSON responses and integrate with your applications

Base URL

https://it4est.konnektable.com
Authentication

All 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.

POST /api/ingest
POST

Ingest sensor data into the Data Lake. Supports batch ingestion of multiple records.

Required Permission:

write

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:

FieldTypeDescription
source_namestringUnique identifier for the data source
source_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 & Error Handling

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

200
Success - Request completed successfully
400
Bad Request - Invalid parameters or malformed request
401
Unauthorized - Missing or invalid Authorization header
403
Forbidden - API key lacks required permissions
429
Too Many Requests - Rate limit exceeded
500
Server Error - Internal server error

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.

Copyright © 2026 Konnektable Technologies — AI-Powered Crisis Prevention, Wildfire Management & Emergency Response Orchestrator